大家好,问一个很菜很菜的问题。就是怎么写添加按钮里的代码。我想把数据库的内容添加到datagridview里面。在运行时也可以添加新的内容到数据库。谢谢大家了。

解决方案 »

  1.   

    首先你要将数据读出到内存表dataset中,然后将你的datagrid控件的数据源绑定到该dataset中,例如下面,在你的
    相应函数中调用就可以了
    /// <summary>
            /// 用Adapter方式打开数据库和访问数据库
            /// </summary>
            /// <param name="dataGridView">待填充的控件</param>
            /// <param name="strConnect">数据库连接字符串,如string dbConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\\test.mdb; ";</param>
            /// <param name="strSql">sql语句,如SELECT * FROM [tblSampleInformation]</param>
            public static void LoadInfo(DataGridView dataGridView, string strConnect, string strSql)
            {
                string dbCommand = null;           
                string dbConnect = strConnect;          
                dbCommand = strSql;            OleDbConnection mySqlConnection = new OleDbConnection(dbConnect);
                OleDbDataAdapter mySqlDataAdapter = new OleDbDataAdapter(dbCommand, mySqlConnection);                       DataSet myDataSet = new DataSet();
               
                DataView myDataView;
                try
                {
                    mySqlConnection.Open();  
                  
                    mySqlDataAdapter.Fill(myDataSet, "Relation Join");                myDBTransaction.Commit();                myDataView = myDataSet.Tables["Relation Join"].DefaultView;
                    dataGridView.DataSource = myDataView;
                }
                catch (Exception exp)
                {               
                    Console.WriteLine(exp.Message);
                }
                finally
                {
                    mySqlConnection.Close();
                }
            }
      

  2.   

    上面的myDBTransaction.Commit(); 应该注销,原来我是用的事务的.
      

  3.   

    绑定之后,只要数据源中增加了新记录,DataGrid/DataGridView界面上会自动增加新行。
      

  4.   

    哦,那我只要在按钮里在写个sql语句就行了,对吧
      

  5.   

    不需要,这里:                mySqlDataAdapter.Fill(myDataSet, "Relation Join"); 数据已经在内存中了,只需要:DataTable dt=myDataSet.Tables["Relation Join"];
    DataRow dr=dt.NewRow();
    dt.Rows.Add(dr);当然,你要能保证访问到myDataSet。
      

  6.   

    只要你能确定一个合适的时机执行这个动作就行了:DataTable dt=myDataSet.Tables["Relation Join"];
    DataRow dr=dt.NewRow();
    dt.Rows.Add(dr);
      

  7.   

    datagridview 好像没有绑定的啊
      

  8.   

    没有绑定?设置了DataSource就会绑定。
      

  9.   

    哦,谢谢啦。我本来以为它像datagrid一样的。
      

  10.   

    datagrid可以点出databind;
    但是datagridview不行啊