首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

不能对nvarchar 调用步骤

2012-09-04 
不能对nvarchar 调用方法代码:public void bind(){string str @select blog.ID,blog.UserID, Case blog

不能对nvarchar 调用方法
代码:
  public void bind()
  {
  string str = @"select blog.ID,blog.UserID, Case blog.Pass When 1 Then '是' else '否' end as Pass ,user.UserName from blog inner join [user] on blog.ID = user.BlogID";

  DataSet ds = new DataSet();

  SqlConnection cone=new SqlConnection (@"Server=.\sqlexpress;uid=zcy;pwd=111111;DataBase=MyBlogDB");
  SqlDataAdapter da = new SqlDataAdapter(str, cone);
  da.Fill(ds);


  GridView1.DataSource = ds;
  GridView1.DataBind();

  }
blog,和 user 是两个数据表
===================================================
错误提示: da.Fill(ds);  不能对nvarchar 调用方法
诚心求教!


[解决办法]
select a.ID,a.UserID, (case a.Pass When 1 Then '是' else '否' end) as Pass,b.UserName from blog a inner join [user] b on a.ID = b.BlogID
[解决办法]
string str = @"select blog.ID,blog.UserID, (Case blog.Pass When 1 Then N'是' else N'否' end) as Pass ,user.UserName from blog inner join [user] on blog.ID = user.BlogID";
[解决办法]
查询分析器执行看看

[解决办法]
user都加上[user] 试试


网上找到的:

不知道大家调用存储过程的时候有没有遇到过这样的情况,"开头的标识符太长,最大长度为128",记得上个星期为了这个问题搞死我了

不过最终还是被聪明的我解决了,下面写一下怎么解决的。

如果你调用的存储过程是用双引号的话就会出现上面的错误,但是用单引号就不会了~~~

双引号的最大限制就是128

那么我们就不要用双引号用单引号,但是用单引号里面如果有用到双引号就比较麻烦了,所以我们用两个单引号代替一个双引号~~~

嘻嘻,问题就解

热点排行