c# asp.net Da.Fill(ds, "keyInfo")提示对象名 'keyInfo' 无效,为什么?

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:38:30
肯定的是表名没有错,是从数据库里直接复制过来的
string cmdtxt1 = "server=(local);database=dong;Uid=sa;Pwd=";
string cmdtxt2 = "SELECT * FROM keyInfo where keyName like '%" + TextBox1.Text + "%'";
SqlConnection Con = new SqlConnection(cmdtxt1);
Con.Open();
SqlDataAdapter Da = new SqlDataAdapter(cmdtxt2, Con);
DataSet ds = new DataSet();
Da.Fill(ds, "keyInfo");
if (ds.Tables["keyInfo"].Rows.Count > 0)
{
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}
else
{
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
Response.Write("没有记录哦。。。");
}
根据一楼的改后是这样:行 27: Da.Fill(ds, "keyInfo");
System.Data.SqlClient.SqlException: 对象名 'keyInfo' 无效。
都不行哦。。。

试试改成:
SqlConnection Con = new SqlConnection(cmdtxt1);
SqlDataAdapter Da = new SqlDataAdapter(cmdtxt2, Con);
DataSet ds = new DataSet();
Da.Fill(ds, "keyInfo");

DataSet ds = new DataSet("keyinfo");
再看看

设断点跟踪一下看看是哪步出的错,应该是数据库那边的问题

改个名字试试
Da.Fill(ds, "keyInfo1");
如果不行的话,把这句
string cmdtxt2 = "SELECT * FROM keyInfo where keyName like '%" + TextBox1.Text + "%'";
改成
string cmdtxt2 = "SELECT * FROM [keyInfo] where [keyName] like '%" + TextBox1.Text + "%'";

this.GridView1的datasource 应该绑定表,不是dataset
this.GridView1.DataSource = ds.Tables["keyInfo"]
this.GridView1.DataBind();