' ' 附近有语法错误。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: ' ' 附近有语法错误。源错误: 
行 26:         DataSet myds = new DataSet();
行 27:         connection.Open();
行 28:         myda.Fill(myds, "user"); 
行 29:         GridView1.DataSource = myds; 
行 30:         GridView1.DataKeyNames = new string[] { "用户id" };//主键         源文件: d:\Desktop\asp.net\desktopmodules\user\用户浏览.aspx.cs    行: 28 

解决方案 »

  1.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;public partial class desktopmodules_user_uaselist : System.Web.UI.Page
    {
        private static String conString = "Data Source=YUYI-PC;Initial Catalog=asp.netbbs;User ID=dl;Password=123";
        public static SqlConnection connection = new SqlConnection(conString);
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                bind();
        }
        public void bind()     {
           
            string sqlstr = "select userid as 用户id,username as 用户名,password as 用户密码,aliasname as 别名,email as 邮箱地址,roleid as 角色  from [user] order by userid desc";      
            SqlDataAdapter myda = new SqlDataAdapter(sqlstr, connection);        
            DataSet myds = new DataSet();
            connection.Open();
            myda.Fill(myds, "user"); 
            GridView1.DataSource = myds; 
            GridView1.DataKeyNames = new string[] { "用户id" };//主键         
            GridView1.DataBind();         
                
        }
        protected void GridView1_RowDeleting(object sender,GridViewDeleteEventArgs  e)
        {
            string sql = "delete from where userid='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
            SqlCommand sqlcom = new SqlCommand(sql, connection);
            sqlcom.ExecuteNonQuery();
            connection.Close();
            bind();
    }
    }
      

  2.   

    myda.Fill(myds, "user"); “user”改成"[user]"也还是错误
      

  3.   

       string sqlstr = "select userid as 用户id,username as 用户名,password as 用户密码,aliasname as 别名,email as 邮箱地址,roleid as 角色  from [user] order by userid desc";    这一行的豆号变全角了,要改用半角  
    还有这个  string sql = "delete from where userid='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";
    UID是数值型吧直接这样
     string sql = "delete from where userid="+GridView1.DataKeys[e.RowIndex].Value.ToString();
      

  4.   

    select userid as 用户id,username as 用户名,password as 用户密码,aliasname as 别名,email as 邮箱地址,roleid as 角色  from [user] order by userid desc把你的逗号 换成 英文 ,
      

  5.   

    select [userid] as [用户id],[username] as [用户名],[password] as [用户密码],[aliasname] as [别名],[email] as [邮箱地址],[roleid] as [角色]  from [user] order by [userid] desc
      

  6.   

    重新写下sql试试看,会不会是标点符号中英文的问题
      

  7.   

    你把你的sql输出来看看,究竟哪里错了
      

  8.   

    最直接的。把SQL语句拷出来在数据库执行。就知道哪错了。
      

  9.   

     private static String conString = "Data Source=YUYI-PC;Initial Catalog=asp.netbbs;User ID=dl;Password=123";String  大小写问题? 换成string试试
      

  10.   

    "delete from where userid='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'"问题在这里,表明跑哪儿去了?delete from,from 什么?
      

  11.   

    最直接的。把SQL语句拷出来在数据库执行。就知道哪错了。
      

  12.   

    肯定还是sql的问题,在执行的地方下断点,然后把sql拷出来在数据库里执行
      

  13.   

    对了,user在sql server里好像是关键字,表名最好不要用user
      

  14.   

    select * from user?似乎不行吧?
      

  15.   

    浪费那么多时间,先输入sql啊?
      

  16.   

    直接SQL放查询分析器执行下
      

  17.   

    userid是数值型吧?楼主新手吧
      

  18.   

    单步调试....然后将拼接后的sql 拿出来 放到数据库 查询窗口上执行 一切问题都明白了拼接sql经常回出现先这种问题 
      

  19.   

    delete from xxx where userid='2'
    userid是什么类型的,如果是整型就别加单引号。
    -----------
    搞一个完整的SQL语句,而且ID存在,放到SQL查询器中测试就知道了啊
      

  20.   

    这种问题一般是sql语句有问题,直接调试把执行的sql语句拷到数据库直接执行就知道错误了
      

  21.   

    最直接的。把SQL语句拷出来在数据库执行。就知道哪错了。 
      

  22.   

    还有就是如果字段与表面与数据库的关键词重重复,会造成冲突,这是一时改变表名或者字段,二就是在sql语句上附加一些词表示系统关键字。
      

  23.   

    调试把sql赋值出来拿到数据库看看是不是引号的问题。在数据库一眼就能看出来!
      

  24.   

    不知道你是什么库,曾经用oracle出过这个问题       myda.Fill(myds, "\"user\""); 
    可以这样试试,我也不明白为什么。曾经就是这么解决的  
      

  25.   

    顺便求问一句
    用NAVICAT 建表  不知道为什么有部分表
    select * from table where a=1 会报错
    但是
    select * from "table" where "a"=1 就不会 
      

  26.   

    sql语句错误,LZ应该学下怎么调试了
      

  27.   

    SQL语句不能写这个的"table"
      

  28.   

    直接将sql拷出来再sqlserver上执行,另外sql中最好不要有汉字,有汉字符号肯定错
      

  29.   

    把SQL语句拿到 调试器里面运行下