易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关问答:

遍历一个xml并输出指定节点的值 - .NET技术 / C#

我有一个类似的xml的 string,想通过遍历怎么个xml 输出我想要的element的值
xml 为:
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
  <RequestType>DISCOVER_XML_ME ......

c# Winform 触摸屏程序 - .NET技术 / C#

公司开发一个触摸屏程序,我负责的一块,实现这样一个功能,当鼠标点击窗口中图片(一张图分成几部分)的其中一部分时,将这部分图片截取出来,弹出新的窗口,将截取出的图片显示出来。我使用Rectange类控制了返回, ......

VS2008操作Access问题 - .NET技术 / C#

VS2008中C#操作Access数据库,网上下载了一个类,可以正常连接,读取数据,但是插入删除操作似乎有问题,以下是部分代码:
数据库类:
namespace AccessDb
{
  public class AccessDbClass
  { ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号