C# 实现往数据库中更新数据(有则update,无则insert)

CarBot 2019-06-29 02:55:31
代码如下:


using (SqlConnection conn = new SqlConnection("server=.;database=" + dbName + ";uid=sa;pwd=123456"))
{
try
{
string str_InsertUpdate = string.Format(@"INSERT INTO tb_A (county, date, state) VALUES ('{0}','{1}','{2}') ON DUPLICATE KEY UPDATE state = '{2}'",countyName, dateTime, stateNumber);

SqlCommand comm = new SqlCommand(str_InsertUpdate, conn);
if (conn.State == ConnectionState.Closed)
conn.Open();

int i =
comm.ExecuteNonQuery();
if (i < 1) return false;
return true;
}

catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}

每次运行到comm.ExecuteNonQuery();都会报错,显示“关键字ON附近有语法错误”,不知道到底是哪错了,麻烦高人给看看原因。
...全文
846 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
XBodhi. 2019-07-08
  • 打赏
  • 举报
回复
数据库的脚本 贴出来看下。

INSERT INTO tb_A (county, date, state) VALUES ('{0}','{1}','{2}') ON DUPLICATE KEY UPDATE state = '{2}'",countyName, dateTime, stateNumber


这个地方写错了。

SQLSERVER中没有类似INSERT ON DUPLICATE KEY UPDATE的语法

了解了下 MYSQL 里有。
Water Lee 2019-07-06
  • 打赏
  • 举报
回复
这下面这个结构的语句来做吧,我一直在用,挺好用的。判断和执行一次就搞定了,中间也不用把数据返回来判断,理论上会快一些。
if exists(Select top(1) 1 from 【pointTable】
where 【condition】)
begin
UPDATE 【pointTable】
end
else
begin
INSERT 【pointTable】
end
射手座cl 2019-06-29
  • 打赏
  • 举报
回复
建议在sql那里打个断点,然后把sql拿到数据库中执行,然后解决对应问题
vin_Lee 2019-06-29
  • 打赏
  • 举报
回复
if exist(select语句) update else insert 了解一下
  • 打赏
  • 举报
回复
还是分开两步来吧,先查是否存在,再考虑是插入还是修改
  • 打赏
  • 举报
回复
sql server没有duplicate这个关键字吧 你试试调试把语句在数据库跑,应该也是会报错
大家这么喜欢,我就不要资源分了,改成0分了,我为我一己私利感到抱歉…… MongoDB学习手册 ......................................................................................................................... 1 说明.......................................................................................................................................... 2 一、 Mongodb简介 .......................................................................................................... 4 二、 MongoDB特性 ......................................................................................................... 5 适用场景: ....................................................................................................................... 5 不适用场景: ................................................................................................................... 6 三、 MongoDB的工作方式.............................................................................................. 6 四、 MongoDB的下载 ..................................................................................................... 8 五、 MongoDB的安装 ..................................................................................................... 9 六、 MongoDB数据类型................................................................................................ 12 1. Timestamp类型 ...................................................................................................... 12 2. ObjectId类型 .......................................................................................................... 12 3. 数据关联 ............................................................................................................. 14 七、 GridFS文件系统 ..................................................................................................... 15 八、 索引 ......................................................................................................................... 16 九、 主(Master)/从(slave)数据同步 ................................................................ 20 1. 建立主/从服务器 ................................................................................................... 20 2. 相关参数说明 ......................................................................................................... 21 3. Slave顶替Master ................................................................................................... 22 4. 切换Master/Slave角色 ......................................................................................... 22 5. 更新主服务器位置 ................................................................................................. 22 十、 MongoDB分片和集群............................................................................................ 24 1. 简单分片实例 ......................................................................................................... 24 2. 高级分片实例 ......................................................................................................... 29 十一、 数据基本操作:增查删改 ............................................................................. 37 1. Insert ....................................................................................................................... 37 2. Query ....................................................................................................................... 38 3. Remove.................................................................................................................... 52 4. Update ..................................................................................................................... 53 十二、 Shell控制台 ........................................................................................................ 62 1. 执行.js文件 ............................................................................................................ 62 2. –eval ........................................................................................................................ 62 3. 脚本和互动的区别 ................................................................................................. 62 十三、 安全与认证 ......................................................................................................... 63 1) 开启安全认证 ......................................................................................................... 63 2) 添加用户 ................................................................................................................. 64 3) 认证 ......................................................................................................................... 64

111,094

社区成员

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

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

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