C# mysql 查询

一直没用过MySql数据库,现在用上了,本身对数据库操作有很多疑问,正巧这时候请教下大家。现在我有个库db_DataBase,一张表tb_Table,两个字段Name(k... 一直没用过MySql数据库,现在用上了,本身对数据库操作有很多疑问,正巧这时候请教下大家。现在我有个库db_DataBase,一张表tb_Table,两个字段Name (key)和Pass。
我想通过C#语言,一个函数实现连接数据库,查询我自定义一个string tmpName和string tmpPass是否在表tb_Table中,如果不在,把这条记录插入此表。希望有人能帮我回答这个问题。
展开
 我来答
安全管理人12345gf
2015-12-28 · TA获得超过5523个赞
知道大有可为答主
回答量:5473
采纳率:62%
帮助的人:1201万
展开全部

使用connection对象创建mysqlcommand对象,设置查询的sql语句及参数,然后使用excutereader对象,然后使用户reader对象循环每一行,并读出需要的列的数据。

读取的过程中根据需要使用reader.IsDBNull(列数或是列名)判断数据是否为null

如下面所示:

匿名用户
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(); } }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FabKiller
2014-01-15 · TA获得超过586个赞
知道小有建树答主
回答量:676
采纳率:0%
帮助的人:480万
展开全部
无论何种数据库,增删改查,基本都相近的,试着使用mssql的语句来实现。
追问
可是先查后插入,我现在还搞不定,一个SqlCommand不能多次使用吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式