關於c#數據庫的簡單應用-datagriview連接數據庫及更相關操作

先介紹下關於數據庫的連接:

我們首先通過connection對象對數據連接:

string str1 = Application.StartupPath;
            string str = "provider=Microsoft.Jet.OLEDB.4.0; data Source="+str1+@"\telephone.mdb; Persist Security Info=False";
            OleDbConnection conn = new OleDbConnection(str);
在連接字符串中:provider=指的是提供服務的文件,data sourc=指的是數據庫文件所在的位置,persist security info=指的是是否保存安全信息,其實可以簡單的理解爲"ADO在數據庫連接成功後是否保存密碼信息"。

在接着就是datagriviewdatasource了,在這裏我們可以通過兩種方法來實現:
第一,我們可以設置datagriview的數據綁定實現:

首先我們在工具欄中選擇datagrivew添加,這是在其右上方我們可以發現一個按鈕,點擊即可:

然後點擊選擇數據源按鈕即可添加:

進入到了數據源選擇界面:我們可以選擇數據集,隨後就可以了(自行選擇數據文件,及位置,這裏不再介紹)。


第二種:通過代碼實現數據庫與datagriview的綁定:
在datagriview中有一個datasource成員我們將其指定爲連接獲得數據源dataset即可:

對於dataset,我們需要通過建立connection conn連接,在通過conn.open(),實現連接數據庫,在同dataAdapter da獲取數據集,再通過da.fill(ds,"phone")方法將數據集加入進dataset["phone"]中。

代碼如下:

  private void Form1_Load(object sender, EventArgs e)
        {
            // TODO:  這行代碼將數據加載到表“telephoneDataSet.telephoneinfo”中。您可以根據需要移動或刪除它。
            this.telephoneinfoTableAdapter.Fill(this.telephoneDataSet.telephoneinfo);//自動添加??
            enter form = new enter();
            form.ShowDialog();
            if (enter.flag == 0)
            {
                this.Close();
            }
            dgv.DataSource = bandsource().Tables["phone"];
        }
 public DataSet bandsource()
        {
            string str1 = Application.StartupPath;
            string str = "provider=Microsoft.Jet.OLEDB.4.0; data Source="+str1+@"\telephone.mdb; Persist Security Info=False";
            OleDbConnection conn = new OleDbConnection(str);
            ds = new DataSet();
            try
            {
                conn.Open();
                string sqlstr = "select telephoneinfo.PersonID as 自動編號,telephoneinfo.Name as 姓名,telephoneinfo.Sex as 性別,telephoneinfo.OfficeTel as 辦公室電話,telephoneinfo.HomeTel as 家庭電話,telephoneinfo.Mark as 備註 from telephoneinfo order by PersonID";
                da = new OleDbDataAdapter(sqlstr, conn);
                da.Fill(ds, "phone");
            }
            catch(Exception e)
            {
                MessageBox.Show(e.Message);
            }
            finally
            {
                conn.Close();
            }
            return ds;
        }
		


發佈了27 篇原創文章 · 獲贊 13 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章