日期:2014-05-18  浏览次数:20424 次

用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_Uema