データグリッドビューを更新しようとしました。(編集)
私のコード:
private void button1_Click(object sender, EventArgs e)
{
con = new System.Data.SqlClient.SqlConnection();
con.ConnectionString = "Data Source=tcp:SHEN-PC,49172\\SQLEXPRESS;Initial Catalog=LSEStock;Integrated Security=True";
con.Open();
if (dataGridView1.Rows.Count > 0)
{
int nRowIndex = dataGridView1.Rows.Count-2;
if (dataGridView1.Rows[nRowIndex].Cells[1].Value != null)
{
textBox2.Text = Convert.ToString(dataGridView1.Rows[nRowIndex].Cells[1].Value);
String updateData = "UPDATE CostPrice SET SupplierName = @SupplierName, CostPrice = @CostPrice WHERE PartsID = '" +textBox1.Text+"'";
SqlCommand update = new SqlCommand(updateData, con);
SqlDataAdapter adapter = new SqlDataAdapter(updateData, con);
update.Parameters.Add("@SupplierName", SqlDbType.NVarChar, 50, "SupplierName");
update.Parameters.Add("@CostPrice", SqlDbType.NVarChar, 50, "CostPrice");
adapter.UpdateCommand = update;
//update.ExecuteNonQuery();
if (update != null)
{
update.Dispose();
update = null;
}
}
else
{
MessageBox.Show("NULL");
}
}
con.Close();
}
ExecuteNonQuery が初期化されていないことを示しています。コードの何が問題になっていますか?
私は SqlCommand を使用して更新していますが、インターネットから見たところ、ほとんどの人が SqlDataAdapter を使用しています。違いは何ですか? 前もって感謝します。
より良いコードがあれば、そこから学びたいと思います。ありがとう!