调用如下方法时:
DataSet ds = new DataSet();
public void GetP()
{
if (this.Rcode != "")
{ ds.Tables["Zd_Xz"].Rows.Clear();//就在这!(未将对象引用设置到对象的实例)
try
{
string select = "select * from Zd_Xz where Xz_Code=" + this.Rcode + ""; SqlDataAdapter adp = new SqlDataAdapter(select, source);
SqlCommandBuilder cb = new SqlCommandBuilder(adp); adp.Fill(ds, "Zd_Xz");
adp.Update(ds, "Zd_Xz");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
} }
是不是"Zd_Xz"表没有啊???
DataSet ds = new DataSet();
public void GetP()
{
if (this.Rcode != "")
{ ds.Tables["Zd_Xz"].Rows.Clear();//就在这!(未将对象引用设置到对象的实例)
try
{
string select = "select * from Zd_Xz where Xz_Code=" + this.Rcode + ""; SqlDataAdapter adp = new SqlDataAdapter(select, source);
SqlCommandBuilder cb = new SqlCommandBuilder(adp); adp.Fill(ds, "Zd_Xz");
adp.Update(ds, "Zd_Xz");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
} }
是不是"Zd_Xz"表没有啊???
去了???
还有,我在这里要用到table
public void GetP()
{
if (this.Rcode != "")
{ ds.Tables["Zd_Xz"].Rowsds目前是任内容啊
ds.Tables["Zd_Xz"].Rows.Clear();//就在这!(未将对象引用设置到对象的实例)
public void GetP()
{
if (this.Rcode != "")
{ ds.Tables["Zd_Xz"].Rows.Clear();//就在这!(未将对象引用设置到对象的实例)
try
{
string select = "select * from Zd_Xz where Xz_Code=" + this.Rcode + ""; SqlDataAdapter adp = new SqlDataAdapter(select, source);
SqlCommandBuilder cb = new SqlCommandBuilder(adp); adp.Fill(ds, "Zd_Xz");
adp.Update(ds, "Zd_Xz");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
} }
//charles_y(难得糊涂) ( ) 信誉:100
//意思是:DataSet ds = new DataSet();
public void GetP()
{
if (this.Rcode != "")
{ try
{
string select = "select * from Zd_Xz where Xz_Code=" + this.Rcode + ""; SqlDataAdapter adp = new SqlDataAdapter(select, source);
SqlCommandBuilder cb = new SqlCommandBuilder(adp); adp.Fill(ds, "Zd_Xz");
adp.Update(ds, "Zd_Xz");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
} }
但,不能显示出我要的记录!
我的思路是,用Form2传过来的Rcode在ds.Tables中显示查询的记录!
你的思路是错的!
执行后,问题没变!
如果是显示不出来,加断点调式一下看看是不是fill出错了?DataSet ds = new DataSet();
public void GetP()
{
if (this.Rcode != "")
{ try
{
string select = "select * from Zd_Xz where Xz_Code=" + this.Rcode + ""; SqlDataAdapter adp = new SqlDataAdapter(select, source);
// SqlCommandBuilder cb = new SqlCommandBuilder(adp); adp.Fill(ds, "Zd_Xz");
// adp.Update(ds, "Zd_Xz");
this.dataGridView1.DataSource = ds.Tables["Zd_Xz"].DefaultView; //改一下
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
} }
通过后,没有显示要查询的记录!
Fill的时候出错了吗?有没有跳到catch 中去还有你这个是ASP.NET 还是winform
加个
dataGridView1.DataBind(); 看看呢
现在问题是:能过,但,就是不能显示查询的结果!
string select = "select * from Zd_Xz where Xz_Code= '" + this.Rcode + "'";
通过后,没有显示要查询的记录!
------------------------------
为什么不这样:
public void GetP(string Rcode)
{
......
}
{
DataSet ds = new DataSet();if (this.Rcode != "")
{ds.Tables["Zd_Xz"].Rows.Clear();//就在这!(未将对象引用设置到对象的实例)
try
{
string select = "select * from Zd_Xz where Xz_Code=" + this.Rcode + "";SqlDataAdapter adp = new SqlDataAdapter(select, source);
SqlCommandBuilder cb = new SqlCommandBuilder(adp);adp.Fill(ds, "Zd_Xz");
adp.Update(ds, "Zd_Xz");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
return ds;
}
}
ds = GetP();
ds.Tables[0].Rows.Clear();
ds.Tables["Zd_Xz"].Rows.Clear();
没填充前那里来的表名?
所以clear()这个完全没必要
你可以在填充的时候指定一个表明
也可以填充后用table[0]的索引格式引用
我也发生过类似的错误基本是表没有创立;
搂主好像是清空DataSet
直接dsResult.Clear();好了