2

datagridview から sql server データベースに値を挿入したいと考えています。これが機能するかどうかはわかりませんが、テキスト ボックスは使用したくありません。

私のロジックは、2 つの for ループ (i と j など) を使用して datagridview のすべてのセルをトラバースすることですが、これが機能するかどうかはわかりません。

助けてください..

4

3 に答える 3

0

DataGridView何らかの方法で可能であるはずですが、UI コントロール ( )を塗りつぶしてレンダリングするために最初に使用したのと同じデータを読み込んで消費するのではなく、GridView からバックエンドにデータを読み込もうとするのはなぜですか?

ここで私の答えを参照してください: https://stackoverflow.com/a/7939179/559144DataTableデータをバインドして表示するために使用したデータがある場合DataGridViewは、そのように簡単にループできます。その後、グリッドの編集モードを使用してユーザーインターフェイスでエンドユーザーの変更をキャプチャし、プログラムロジック/バックエンドでそれらを処理して、変更をデータベースに保存します。

于 2013-03-13T09:18:24.007 に答える
-1

アプリケーションがウィンドウ アプリで、データベース内のテーブルのすべてのフィールドを表示する場合は、Datagridview を使用する必要がありますSqlDataAdapter

private BindingSource bindingSource = null;
private SqlDataAdapter sqlDataAdapter = null;
DataTable dataTable=null;

private void Form_Load(object sender, EventArgs e)
{
     dataTable = new DataTable();
     sqlDataAdapter.Fill(dataTable);//Fill Data To bind Datagridview
     bindingSource = new BindingSource();
     bindingSource.DataSource = dataTable;
     dataGridViewTrial.DataSource = bindingSource;
}

private void btnSave_Click(object sender, EventArgs e)
{
     try
       {
           sqlDataAdapter.Update(dataTable);
       }
       catch (Exception exceptionObj)
          {
             MessageBox.Show(exceptionObj.Message.ToString());
          }
}

ここも参照してください。

于 2013-03-13T09:45:13.107 に答える
-1

こんにちは、これに対する答えを見つけました....datagridview から SQL データベースにデータを挿入するより単純なコードです。列名はここで事前定義されていることに注意してください。

private void button1_Click(object sender, EventArgs e)
    {
        string str = System.Environment.MachineName;
        SqlConnection sconn = new SqlConnection("Data Source='" + str + "';Initial Catalog=main;Integrated Security=True");
        sconn.Open();
        DataSet ds = new DataSet();
        for(int i=0; i< dataGridView1.Rows.Count;i++)
            {
                SqlDataAdapter da = new SqlDataAdapter("insert into demo values('" + dataGridView1.Rows[i].Cells[0].Value + "','" + dataGridView1.Rows[i].Cells[1].Value + "','" + dataGridView1.Rows[i].Cells[2].Value + "')",sconn);
                    da.Fill(ds, "main");




        conn.Close();

}

于 2013-03-13T12:28:15.833 に答える