insert update 语句的编写

gis_99 2014-07-06 03:49:18
//插入一行
public void InsertRecord(string pTabName, string[] pRecord)
{
try
{
openConnection();
//string sSQL = "insert into [pTabName] ([SysParaName],[SysParaValue]) values ('" + pRecord[0] + "','" + pRecord[1] + "')";
string sSQL = "insert into " + pTabName + " ([SysParaName],[SysParaValue]) values ('" + pRecord[0] + "','"+ pRecord[1] + "')";
comm.CommandType = CommandType.Text;
comm.CommandText = sSQL;
comm.ExecuteNonQuery();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
conn.Close();
}
}

//更新一行
public void UpdateRecord(string pTabName, string[] pRecord)
{
try
{
MessageBox.Show(pRecord[1]);
openConnection();
string sSQL = "UPDATE " + pTabName + " set [SysParaValue]= '" + pRecord[1] + "' WHERE [SysParaName] = '" + pRecord[0] + "' ";
comm.CommandType = CommandType.Text;
comm.CommandText = sSQL;
comm.ExecuteNonQuery();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
conn.Close();
}
}


这两行的insert、update语句都有错误??
请问错误在哪???
...全文
194 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangnaisheng 2014-07-06
  • 打赏
  • 举报
回复
断点调试,然后把你的insert update的语句放到数据库的查询分析器中执行,看看出错在哪就好。
於黾 2014-07-06
  • 打赏
  • 举报
回复
引用 2 楼 u012488787 的回复:
查询分析器,如何打开?? 在VS的哪打开?? 详细点
不在VS里,打开数据库的客户端,可以直接SQL命令查看的那种,把你程序生成的字符串粘进去执行以下就全明白了
wind_cloud2011 2014-07-06
  • 打赏
  • 举报
回复
出现问题可能:语句是不是正确,值是不是有空值,有不有超出数据库中对应字段的长度等,
wind_cloud2011 2014-07-06
  • 打赏
  • 举报
回复
你在这句设一个断点,看这句完整输出是什么,看一下你pRecord[0] 的值 ,
gis_99 2014-07-06
  • 打赏
  • 举报
回复
"insert into [pTabName] "insert into [pTabName] ([SysParaName],[SysParaValue]) values ('" + pRecord[0] + "','" + pRecord[1] + "')"; ('" + pRecord[0] + "','" + pRecord[1] + "')"; 这句的 ([SysParaName],[SysParaValue]) values,在 values前面有个空格,去了就好了 我在写insert、delete、update的时候,常会遇到查询语句或查询子句有错误; 不晓得如何快速处理这些错误的方法
wind_cloud2011 2014-07-06
  • 打赏
  • 举报
回复
nsertRecord这里写法正常,错误是出现在哪句?是怎么样的错误提示?
gis_99 2014-07-06
  • 打赏
  • 举报
回复
查询分析器,如何打开?? 在VS的哪打开?? 详细点
by_封爱 版主 2014-07-06
  • 打赏
  • 举报
回复

public void insert(string tb,string [] par)
{
string sql="insert into "+tb+"(xx,oo)values('"+par[0]+"','"+par[1]+"')";
}
肯定是单引号或者双引号有问题.. 断点把sql打出来 到查询分析器里执行下就行了

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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