以下方法调用了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>
/// <res>
/// 使用示例:
/// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
/// </res>
/// <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;
}
}
{
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>
/// <res>
/// 使用示例:
/// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
/// </res>
/// <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;
}
}
解决方案 »
- 网站发布WEB服务问题 求高手解决
- 这段代码和js是干嘛的?
- 想请教一个smtpmail发送的问题
- ???????????一个小问题,各位帮忙
- 添加的是后为什么不可以添加html代码?
- 求一在不同语言间函数调用问题。(巧!)
- SOS: .aspx文件和.cs文件的连接关系
- 这是怎么搞的?急急急,在线等!!!
- 为什么我写 Page.RegisterStartupScript 程 序 不 认 和 如 何 设 置 焦 点 ? 急!!!
- 请推荐一本asp.net使用ado.net写网页的书!中文的!不要电子版!
- 能否写ASPX调用一个已经发布的网站ASPX页面
- asp.net中是先执行.aspx还是先执行.cs中的Page_Load?
表名都没有
string sql = "INSERT INTO 表名 (Uname,Upwd,Uemail,Utype) VALUES (SQL_PARM_Uname,SQL_PARM_Upwd,SQL_PARM_Uemail,SQL_PARM_Utype)";
第一、没有表名
第二、好像字段名那里不需要用单引号吧(这个不确定,记得好像不需要)
应该是insert into table(字段名1,字段名2...) values(value1,value2...);
在此上下文中不允许使用 'SQL_PARM_Uname'。此处只允许使用常量、表达式或变量。不允许使用列名。
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);
}