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

用SQLHelper.cs 出现第 1 行: '(' 附近有语法异常。请问

2012-03-05 
用SQLHelper.cs 出现第 1 行: ( 附近有语法错误。,请教!以下方法调用了Sqlhelper.ExecuteNonQuery方法,在

用SQLHelper.cs 出现第 1 行: '(' 附近有语法错误。,请教!
以下方法调用了Sqlhelper.ExecuteNonQuery方法,在Sqlhelper的ExecuteNonQuery方法提示“1 行: '(' 附近有语法错误。”,下面Sqlhelper的ExecuteNonQuery方法错误处有提示请看,谢谢!

public void AddCategory(string Uname, string Upwd, string Uemail, char Utype)
  {
  SqlParameter[] parms = new SqlParameter[]{
  new SqlParameter(SQL_PARM_Uname,SqlDbType.NVarChar),
  new SqlParameter(SQL_PARM_Upwd, SqlDbType.NChar),
  new SqlParameter(SQL_PARM_Uemail,SqlDbType.NVarChar),
  new SqlParameter(SQL_PARM_Utype,SqlDbType.Char)
  };
  parms[0].Value = Uname;
  parms[1].Value = Upwd;
  parms[2].Value = Uemail;
  parms[3].Value = Utype;

  string sql = "INSERT INTO ('Uname','Upwd','Uemail','Utype') VALUES (SQL_PARM_Uname,SQL_PARM_Upwd,SQL_PARM_Uemail,SQL_PARM_Utype)";
  SqlHelper.ExecuteNonQuery(SqlHelper.connectionString, CommandType.Text, sql, parms);
  }


//以下是Sqlhelper的ExecuteNonQuery定义

  /// <summary>
  ///执行一个不需要返回值的SqlCommand命令,通过指定专用的连接字符串。
  /// 使用参数数组形式提供参数列表 
  /// </summary>
  /// <remarks>
  /// 使用示例:
  /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
  /// </remarks>
  /// <param name="connectionString">一个有效的数据库连接字符串</param>
  /// <param name="commandType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param>
  /// <param name="commandText">存储过程的名字或者 T-SQL 语句</param>
  /// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>
  /// <returns>返回一个数值表示此SqlCommand命令执行后影响的行数</returns>
  public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
  {

  SqlCommand cmd = new SqlCommand();

  using (SqlConnection conn = new SqlConnection(connectionString))
  {
  //通过PrePareCommand方法将参数逐个加入到SqlCommand的参数集合中
  PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
  int val = cmd.ExecuteNonQuery(); //该行提示出错:1 行: '(' 附近有语法错误。

  //清空SqlCommand中的参数列表
  cmd.Parameters.Clear();
  return val;
  }
  }

[解决办法]
INSERT INTO 表名(Uname,Upwd,Uemail,Utype) value(....)
[解决办法]
你sql语句写的不对.
表名都没有
[解决办法]
INSERT INTO 表名(Uname,Upwd,Uemail,Utype) values(....)
[解决办法]
string sql = "INSERT INTO ('Uname','Upwd','Uemail','Utype') VALUES (SQL_PARM_Uname,SQL_PARM_Upwd,SQL_PARM_Uemail,SQL_PARM_Utype)";错误
[解决办法]

C# code
 string sql = "INSERT INTO 表名 (Uname,Upwd,Uemail,Utype) VALUES (SQL_PARM_Uname,SQL_PARM_Upwd,SQL_PARM_Uemail,SQL_PARM_Utype)";
[解决办法]
探讨
string sql = "INSERT INTO ('Uname','Upwd','Uemail','Utype') VALUES (SQL_PARM_Uname,SQL_PARM_Upwd,SQL_PARM_Uemail,SQL_PARM_Utype)";



[解决办法]
...SQL语句,字段和值写反了 0 0
[解决办法]
粗心
[解决办法]
把ado.net好好看看.
C# code
public void AddCategory(string Uname, string Upwd, string Uemail, char Utype)         {             SqlParameter[] parms = new SqlParameter[]{                 new SqlParameter("@SQL_PARM_Uname",SqlDbType.NVarChar),                 new SqlParameter("@SQL_PARM_Upwd", SqlDbType.NChar),                 new SqlParameter("@SQL_PARM_Uemail",SqlDbType.NVarChar),                 new SqlParameter("@SQL_PARM_Utype",SqlDbType.Char)             };             parms[0].Value = Uname;             parms[1].Value = Upwd;             parms[2].Value = Uemail;             parms[3].Value = Utype;             string sql = "INSERT INTO 表名 (Uname,Upwd,Uemail,Utype) VALUES (@SQL_PARM_Uname,@SQL_PARM_Upwd,@SQL_PARM_Uemail,@SQL_PARM_Utype)";             SqlHelper.ExecuteNonQuery(SqlHelper.connectionString, CommandType.Text, sql, parms);         }
[解决办法]
探讨
我改过来了,可是出现
在此上下文中不允许使用 'SQL_PARM_Uname'。此处只允许使用常量、表达式或变量。不允许使用列名。

[解决办法]
慢慢来吧
[解决办法]
探讨
你sql语句写的不对.
表名都没有

热点排行