用SQLHelper.cs 出现第 1 行: '(' 附近有语法错误。,请教!

s2009xg 2009-01-06 11:08:38
以下方法调用了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;
}
}
...全文
282 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
s2009xg 2009-01-06
  • 打赏
  • 举报
回复
搞定了,我太不注意细节了!
niitnanfeng 2009-01-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lovehongyun 的回复:]
你sql语句写的不对.
表名都没有
[/Quote]
:-)
lyvscf 2009-01-06
  • 打赏
  • 举报
回复
慢慢来吧
jiang_jiajia10 2009-01-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 s2009xg 的回复:]
我改过来了,可是出现
在此上下文中不允许使用 'SQL_PARM_Uname'。此处只允许使用常量、表达式或变量。不允许使用列名。
[/Quote]
得加("@SQL_PARM_Uname" 啊
lovehongyun 2009-01-06
  • 打赏
  • 举报
回复
把ado.net好好看看.
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);
}
s2009xg 2009-01-06
  • 打赏
  • 举报
回复
我改过来了,可是出现
在此上下文中不允许使用 'SQL_PARM_Uname'。此处只允许使用常量、表达式或变量。不允许使用列名。
ReyZhang 2009-01-06
  • 打赏
  • 举报
回复
粗心
lange_love 2009-01-06
  • 打赏
  • 举报
回复
...SQL语句,字段和值写反了 0 0
Hertz_liu 2009-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lovehongyun 的回复:]
string sql = "INSERT INTO ('Uname','Upwd','Uemail','Utype') VALUES (SQL_PARM_Uname,SQL_PARM_Upwd,SQL_PARM_Uemail,SQL_PARM_Utype)";
[/Quote]
你自己这句SQl写的有问题:
第一、没有表名
第二、好像字段名那里不需要用单引号吧(这个不确定,记得好像不需要)
应该是insert into table(字段名1,字段名2...) values(value1,value2...);
jiang_jiajia10 2009-01-06
  • 打赏
  • 举报
回复

string sql = "INSERT INTO 表名 (Uname,Upwd,Uemail,Utype) VALUES (SQL_PARM_Uname,SQL_PARM_Upwd,SQL_PARM_Uemail,SQL_PARM_Utype)";

lyvscf 2009-01-06
  • 打赏
  • 举报
回复
..............
yyq136 2009-01-06
  • 打赏
  • 举报
回复
string sql = "INSERT INTO ('Uname','Upwd','Uemail','Utype') VALUES (SQL_PARM_Uname,SQL_PARM_Upwd,SQL_PARM_Uemail,SQL_PARM_Utype)";错误
zhxhdean 2009-01-06
  • 打赏
  • 举报
回复
INSERT INTO 表名(Uname,Upwd,Uemail,Utype) values(....)
lovehongyun 2009-01-06
  • 打赏
  • 举报
回复
你sql语句写的不对.
表名都没有
lovehongyun 2009-01-06
  • 打赏
  • 举报
回复
INSERT INTO 表名(Uname,Upwd,Uemail,Utype) value(....)

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧