输入一个ID,然后在datagridview中显示出相关信息,再输第二个ID的时候,查出来后,只能显示第二个ID的信息,第一个的没有了。。我要都显示该怎么办?
这个是我目前的代码:
private void button2_Click(object sender, EventArgs e)
{
ID = textBox1.Text;
SqlConnection con = cont.conn();
SqlCommand com = new SqlCommand("select * from GoodsInfo where ID= '" + ID + "'", con);
con.Open();
SqlDataReader dr = com.ExecuteReader();
dr.Read();
GoodsName = dr.GetString(1);
UnitPrice = dr.GetValue(3).ToString();
GoodsAmount = dr.GetValue(3).ToString();
con.Close();
SqlDataAdapter da = new SqlDataAdapter("select * from GoodsInfo where ID= '" + ID + "'", con);
DataSet ds = new DataSet();
da.Fill(ds, "GoodsOrder");
dataGridView1.DataSource = ds.Tables["GoodsOrder"];
}
------解决方案--------------------方法1、再创建一个DataTable对象,把新查出的数据添加到这个DataTable中然后显示新DataTable的数据就是每次都有了
方法2、换一下查询条件,把ID=改为ID in('',''),然后每次查询成功的ID号保存到一个字符串中,每次重新查询时都把之前的追加到ID号列表中
------解决方案--------------------看来你是真新手啊 呵呵~跟我不久前的状态一样,我直接给你写吧...从DataTable下开始
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("ID", typeof(System.String));
dt.Columns.Add(dc);
//这里吧DataColumn删掉
dc = new DataColumn("GoodsName",typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("UnitPrice",typeof(System.String));
dt.Columns.Add(dc);
dt.Rows.Add(new object[] { (ID).ToString(),(GoodsName).ToString(),(GoodsAmount ).ToString()});
DataGrid1.ItemsSource = DataGrid1.DefaultView; 这句有错可能是你DataGrid1名字不对,你要去前面的。xaml文件看看 你的DataGrid起的什么名字 一般的话你要是没改 应该就是dataGrid1
其实C#改错很容易,你好好看看下面的错误提示就可以