C# mysql 查询
一直没用过MySql数据库,现在用上了,本身对数据库操作有很多疑问,正巧这时候请教下大家。现在我有个库db_DataBase,一张表tb_Table,两个字段Name(k...
一直没用过MySql数据库,现在用上了,本身对数据库操作有很多疑问,正巧这时候请教下大家。现在我有个库db_DataBase,一张表tb_Table,两个字段Name (key)和Pass。
我想通过C#语言,一个函数实现连接数据库,查询我自定义一个string tmpName和string tmpPass是否在表tb_Table中,如果不在,把这条记录插入此表。希望有人能帮我回答这个问题。 展开
我想通过C#语言,一个函数实现连接数据库,查询我自定义一个string tmpName和string tmpPass是否在表tb_Table中,如果不在,把这条记录插入此表。希望有人能帮我回答这个问题。 展开
2014-01-16
展开全部
mysql> select * from test_book1;
+------+-----------+--------------------------------+
| id | name | data |
+------+-----------+--------------------------------+
| 1 | 测试数据1 | 测试CSV文件中,有逗号 |
| 2 | 测试数据2 | 测试CSV文件中有"双引号" |
| 3 | 测试数据3 | 测试CSV文件中,有逗号和"双引号" |
| 4 | 测试数据4 | 普通数据 |
+------+-----------+--------------------------------+
4 rows in set (0.01 sec)
最终用户 希望在插入数据库表以前,先判断数据是否已存在
mysql> INSERT INTO test_book1
-> SELECT 1, 'TEST', 'ABC' FROM dual
-> WHERE NOT EXISTS( SELECT 1 FROM test_book1 WHERE id = 1);
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> INSERT INTO test_book1
-> SELECT 5, 'TEST', 'ABC' FROM dual
-> WHERE NOT EXISTS( SELECT 1 FROM test_book1 WHERE id = 5);
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from test_book1;
+------+-----------+--------------------------------+
| id | name | data |
+------+-----------+--------------------------------+
| 1 | 测试数据1 | 测试CSV文件中,有逗号 |
| 2 | 测试数据2 | 测试CSV文件中有"双引号" |
| 3 | 测试数据3 | 测试CSV文件中,有逗号和"双引号" |
| 4 | 测试数据4 | 普通数据 |
| 5 | TEST | ABC |
+------+-----------+--------------------------------+
5 rows in set (0.00 sec)
对于你这个情况, 就是简单的执行
INSERT INTO tb_Table ( 列名 )
SELECT 数据 FROM dual
WHERE NOT EXISTS( SELECT 1 FROM tb_Table WHERE namg = ... and pass = ... );
这样只需要执行一次 SQL 语句。
如果数据存在, 那么不会插入数据。
如果数据不存在,那么插入数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-16
展开全部
string queryString = "select * from tb_Table where Name="+tmpName +"and Pass="+temPass;
string insertString="insert into tb_Table values("+tmpName+","+temPass+")"; using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command1 = new SqlCommand( queryString, connection); connection.Open(); SqlDataReader reader = command1.ExecuteReader(); try { if(reader.HasRows()) { //有记录不插入 }
else
{
SqlCommand command2 = new SqlCommand( insertString, connection);
command2.ExecuteReader();
}
} finally { // Always call Close when done reading. reader.Close(); } }
string insertString="insert into tb_Table values("+tmpName+","+temPass+")"; using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command1 = new SqlCommand( queryString, connection); connection.Open(); SqlDataReader reader = command1.ExecuteReader(); try { if(reader.HasRows()) { //有记录不插入 }
else
{
SqlCommand command2 = new SqlCommand( insertString, connection);
command2.ExecuteReader();
}
} finally { // Always call Close when done reading. reader.Close(); } }
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
无论何种数据库,增删改查,基本都相近的,试着使用mssql的语句来实现。
追问
可是先查后插入,我现在还搞不定,一个SqlCommand不能多次使用吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |