asp.net中 dataadapter sda.Fill(ds, libname)其中libname是中文,报错为对象名无效,该如何解决? 5

DataRowViewdrv=ds.Tables["Libraries"].DefaultView[0];TextBox1.Text=Convert.ToString(d... DataRowView drv = ds.Tables["Libraries"].DefaultView[0];

TextBox1.Text = Convert.ToString(drv.Row["record"]);
string libname = Convert.ToString(drv.Row["LibName"]);
sda.Dispose();

sql = "select * from ['" + libname + "']";
OleDbDataAdapter sda1 = new OleDbDataAdapter(sql, con);
ds.Clear();
sda1.Fill(ds, libname.ToString() );
DataView dv = ds.Tables[libname].DefaultView;
GridView1.DataSource = dv;
GridView1.DataBind();

我的数据库表名是中文的,因此出现很多问题,这是其中一个,请问有什么好的解决方案?我不希望把表名改成英文的
展开
 我来答
到茧照
2008-05-29 · TA获得超过1901个赞
知道大有可为答主
回答量:1589
采纳率:0%
帮助的人:2000万
展开全部
你没有必要在Fill(ds,表名)的时候非让这里的表名等同于你的数据库表名.你随便取个能识别的就OK.
我很少见人在这里用中文表名的.不管你数据库里用的是不是中文表名.起码在DataSet里.我没见过.

TextBox1.Text = Convert.ToString(drv.Row["record"]);
string libname = Convert.ToString(drv.Row["LibName"]);

这两句.列名正确么?
谈指菩提
2008-05-29 · TA获得超过2405个赞
知道大有可为答主
回答量:1073
采纳率:0%
帮助的人:1869万
展开全部
string libname = Convert.ToString(drv.Row["LibName"]);
你这句得到的是什么?单步调试跟踪一下。应该不是你说的那个中文名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式