C#-使用空值填充网格
我试图用Access数据库中的值填充网格,但没有成功 当我从网格中单击按钮时,我得到C#-使用空值填充网格,c#,sql,database,C#,Sql,Database,我试图用Access数据库中的值填充网格,但没有成功 当我从网格中单击按钮时,我得到null值。问题是什么?有人能给我一个想法/建议吗 我的代码是: private void btnComenzi_Click(object sender, EventArgs e) { //string owner = cboAgenti.SelectedValue.ToString(); string AgentAsig = ""; //string Da
null
值。问题是什么?有人能给我一个想法/建议吗
我的代码是:
private void btnComenzi_Click(object sender, EventArgs e)
{
//string owner = cboAgenti.SelectedValue.ToString();
string AgentAsig = "";
//string Data = "";
string Client = "";
//int Client = 0;
//int NrCom = 0;
string NrCom = "";
double ValCom = 0;
double Discount = 0;
double ValFinala = 0;
string Status = "";
double Volum = 0;
DateTime data = new DateTime();
OleDbConnection conDataBase = RealizeazaConexiune();
//select
OleDbCommand selectCommand = new OleDbCommand();
selectCommand.Connection = conDataBase;
string query1 = "SELECT Cod_Client, Cod_Comanda, Valoare_Comanda, Discount_Comanda, Valoare_Finala, Owner, Status_Comanda, Data_Comanda FROM Comenzi WHERE Owner = '" + cboAgenti.SelectedValue + "'";
selectCommand.CommandText = query1;
// OleDbDataReader myReader1 = selectCommand.ExecuteReader();
using (OleDbDataReader myReader1 = selectCommand.ExecuteReader())
{
while (myReader1 != null && myReader1.Read())
{
// Data = myReader1[0].ToString(); Client = myReader1[1].ToString();
Client = myReader1[0].ToString();
NrCom = myReader1[1].ToString();
ValCom = double.Parse(myReader1[2].ToString());
Discount = double.Parse(myReader1[3].ToString());
ValFinala = double.Parse(myReader1[4].ToString());
AgentAsig = myReader1[5].ToString();
Status = myReader1[6].ToString();
data = DateTime.Parse(myReader1[7].ToString());
Volum = Volum + ValFinala;
}
}
DataRow dr1 = dt.NewRow();
// dr1[0] = Data;
dr1[0] = Client;
dr1[1] = NrCom;
dr1[2] = ValCom;
dr1[3] = Discount;
dr1[4] = ValFinala;
dr1[5] = AgentAsig;
dr1[6] = Status;
dr1[7] = data;
dt.Rows.Add(dr1);
dgvComenzi.DataSource = dt;
}
谢谢大家!!
我已经移动了一些代码行,最后,它的作品。我刷新网格没有成功,但我一直在尝试。您是否在代码中放置了断点。。它是否进入while循环。。?同样,在
dgvComenzi.DataSource=dt
之后,需要将dt绑定到网格调用dgvComenzi.Refresh()
;另外,您只需在While循环中执行此操作,While(myReader1.Read())
我个人会将查询返回到Fill()
数据表,并将数据表绑定到数据源。@Iulia,确保您在dgv中设置了列,以便它们与此数据匹配。这可以在设计器或代码中完成。