datagridview から sql server データベースに値を挿入したいと考えています。これが機能するかどうかはわかりませんが、テキスト ボックスは使用したくありません。
私のロジックは、2 つの for ループ (i と j など) を使用して datagridview のすべてのセルをトラバースすることですが、これが機能するかどうかはわかりません。
助けてください..
datagridview から sql server データベースに値を挿入したいと考えています。これが機能するかどうかはわかりませんが、テキスト ボックスは使用したくありません。
私のロジックは、2 つの for ループ (i と j など) を使用して datagridview のすべてのセルをトラバースすることですが、これが機能するかどうかはわかりません。
助けてください..
DataGridView
何らかの方法で可能であるはずですが、UI コントロール ( )を塗りつぶしてレンダリングするために最初に使用したのと同じデータを読み込んで消費するのではなく、GridView からバックエンドにデータを読み込もうとするのはなぜですか?
ここで私の答えを参照してください: https://stackoverflow.com/a/7939179/559144DataTable
データをバインドして表示するために使用したデータがある場合DataGridView
は、そのように簡単にループできます。その後、グリッドの編集モードを使用してユーザーインターフェイスでエンドユーザーの変更をキャプチャし、プログラムロジック/バックエンドでそれらを処理して、変更をデータベースに保存します。
アプリケーションがウィンドウ アプリで、データベース内のテーブルのすべてのフィールドを表示する場合は、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());
}
}
ここも参照してください。
こんにちは、これに対する答えを見つけました....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();
}