C# 向sqlserver插入数据问题 - .NET技术 / C#
C# code:
string strCmd = "SELECT Top 0 * from tabAreaStationData";
SqlDataAdapter sqlAdapter = new SqlDataAdapter(strCmd, sqlCn);
DataTable dt = new DataTable();
sqlAdapter.Fill(dt);
//省略的这部分代码,是填充dt表的
SqlCommandBuilder baseInsertCommand = new SqlCommandBuilder(sqlAdapter);
sqlAdapter.InsertCommand = baseInsertCommand.GetInsertCommand(true);
sqlAdapter.Update(dt);
现在问题:
在数据库中的标定义了主键;
而要插入的dt表中,有的行可能在数据库中已经存在
1、如何使dt表插入覆盖数据库中的内容
2、如果数据库已经存在的行,则不插入
还没看懂你的问题。。。
抢个沙发!!!
if not exists (select * from tb where ID=@ID)
begin
insert
end
直接用sql实现 不要用dataadapter
用sqlcommand
不重复的话,需要存储过程
你说的覆盖 那就是 update了
你说的数据库已存在的行 既然设置了主键 那id肯定是不同的 那也就不重复了
如果是重复 总得有个条件 哪些字段重复
如何描述呢
例如:在数据库有个Id字段做为唯一键
dt表中Id字段有的内容在数据库中已经存在
执行以上代码会提示
未处理 System.Data.SqlClient.SqlException
Message="违反了 UNIQUE KEY 约束 'UQ__tabAreaStationDa__35BC
相关问答:
请问VFP中如何调用C/C++函数?
你要调用什么功能的函数?要看看VFP中有没有对应的函数,如果有就省着再调用了。如果没有,可以将C/C++函数写个DLL或FLL,然后在VFP调用即可。
十豆三 老师,怎么才能修改自己的 ......
在根目录/lib中存放一个log.c,log.h,并用下面的语句:
gcc -c log.c
ar crv liblog.a log.o
编译出一个liblog.a静态库,然后在文件夹:/testfile中创建一个test.c和testc.c,test.c中引用了testc.c中定义的方法 ......
我有一个类似的xml的 string,想通过遍历怎么个xml 输出我想要的element的值
xml 为:
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_XML_ME ......
谁能帮我把下面这些代码改成VB形式的,多谢了,急用~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[],float g ......
挺繁琐,之前发的帖子,分值太低现在重发一个。欢迎各位大侠~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[] ......