IF NOT EXIST (SELECT * FROM table1 WHERE id=5) BEGIN INSERT INTO table1 VALUES (...) END
select count(*) from Table where id=XXX如:记录不为零 则有重复
如果重复时需要更新记录,则可这样写:IF NOT EXIST (SELECT * FROM table1 WHERE id=5) BEGIN INSERT INTO table1 VALUES (...) END ESLE BEGIN UPDATE table1 SET ... WHERE id=5 END
那你在插入之前验证一下不就行了. 要插入的ID比如是20; string strSQL = "select ID From table where ID=20"; 如果有记录则不插入,没有查询没记录.就插入数据. 不知道你是不是这个意思!!
int id = 5; int age = 28; string name = "SKYIV";OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = string.Format ( @" IF NOT EXIST (SELECT * FROM table1 WHERE id={0}) BEGIN INSERT INTO table1 (age,name) VALUES ({1},'{2}') END ESLE BEGIN UPDATE table1 SET age={1},name='{2}' WHERE id={0} END ", id, age, name ); cmd.ExecuteNonQuery();
比如执行string strSQL = "select ID From table where ID=20"; 怎么样才能得到查到几条记录阿??比如得到一个count 计数值
cmd.CommandText = "select COUNT(*) From table where ID=20"; int n = (int)(cmd.ExecuteScalar()); if (n == 0) { // INSERT INTO table }
BEGIN
INSERT INTO table1 VALUES (...)
END
BEGIN
INSERT INTO table1 VALUES (...)
END
ESLE
BEGIN
UPDATE table1 SET ... WHERE id=5
END
要插入的ID比如是20;
string strSQL = "select ID From table where ID=20";
如果有记录则不插入,没有查询没记录.就插入数据.
不知道你是不是这个意思!!
int age = 28;
string name = "SKYIV";OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = string.Format
(
@"
IF NOT EXIST (SELECT * FROM table1 WHERE id={0})
BEGIN
INSERT INTO table1 (age,name) VALUES ({1},'{2}')
END
ESLE
BEGIN
UPDATE table1 SET age={1},name='{2}' WHERE id={0}
END
",
id, age, name
);
cmd.ExecuteNonQuery();
怎么样才能得到查到几条记录阿??比如得到一个count 计数值
int n = (int)(cmd.ExecuteScalar());
if (n == 0)
{
// INSERT INTO table
}