private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
try
{
DataTable dt = new DataTable();
// In database there are three columns: proid, proname, and unitprice.
// I need this to retrieve in respective textbox when i double click
// the value in datagrid view
SqlDataAdapter da = new SqlDataAdapter(" select * from tblproduct where proid = " +
Convert.ToInt16(dataGridView1.SelectedRows[0].Cells[0].Value.ToString()) + "", con);
// Something wrong near this select statement so getting error index was out of range.
da.Fill(dt);
textBox1.Text = dt.Rows[0][0].ToString();
textBox2.Text = dt.Rows[0][1].ToString();
textBox3.Text = dt.Rows[0][2].ToString();
}
catch (Exception error)
{
MessageBox.Show(error.ToString());
}
}
質問する
125 次
2 に答える
5
これは、次の 4 つの異なる行でのみ発生します。
// either SelectedRows or Cells is zero length
dataGridView1.SelectedRows[0].Cells[0]
// either Rows is zero length or there are no columns returned
dt.Rows[0][0]
// either Rows is zero length or there is only 1 column returned
dt.Rows[0][1]
// either Rows is zero length or there are only 2 columns returned
dt.Rows[0][2]
最も可能性の高い行は?
// there are no SelectedRows
dataGridView1.SelectedRows[0].Cells[0]
// there are no Rows returned
dt.Rows[0][0]
于 2013-07-09T12:19:58.100 に答える
0
SqlDataAdapter が私が使用した他のアダプターのようなものである場合は、最初に接続を確立する必要があります。提供されたコード サンプルからは、接続を確立しているようには見えません。次のようなことを試す必要があるかもしれません:
SqlConnection connex = new SqlConnection();
connex.ConnnectionString = "connection string to data";
try
{
//connect to the database
connex.Open();
//set the select command to be used for pulling in info
da.SelectCommand.Connection = connex;
//fill the dbData object with data from the database
da.Fill(dt);
//close database connection
connex.Close();
}
catch (Exception ex) { }
于 2013-07-09T12:23:37.033 に答える