-
2021-02-06 14:40:13
我正在使用C#多线程应用程序并使用
MySQL与整个应用程序的单一连接.但是当两个或多个线程同时尝试访问数据库时,我得到以下错误:
There is already an open DataReader associated with this Connection which must be closed first.
我的连接代码如下
public static _connectionSetup = new MySqlConnection("Server=server ; Database=database;User ID=user;Password=pass;Pooling=true;");
当我需要使用连接我使用下面的代码: –
using (MySqlConnection connection =_connectionSetup )
{
using (MySqlCommand command = new MySqlCommand("proc", connection))
{
....
}
}
我尝试使用pooling = true,我已经为两个不同的线程创建了两个独立的连接,但我仍然遇到上述错误.
我错过了什么吗?
如何实现连接池,以便所有线程都使用单独的连接,不会导致任何问题?
更多相关内容 -
C#MySql通用类库
2020-04-16 16:58:17C#MySql通用类库 -
C# MySQL 数据库操作类 (包含MySql.Data.Dll文件) 常用方法二三十多个
2020-09-29 09:00:20C# MySQL 数据库操作类 (包含MySql.Data.Dll文件) 常用方法二三十多个 最近项目中用到的就写了个 -
C# Mysql 查询 Rownum的解决方法
2021-01-21 14:43:06Sql: 代码如下:SELECT @rownum:=@rownum+1 AS rownum,a.order_id ,case when a.Ordered =1 then ‘已分单’ end as Ordered,a.printed ,a.order_sn ,a.user_id ,b.user_name ,a.consignee ,a.tel ,a.mobile ,a.... -
C# MySQL.data.dll 各版本下载 用于连接mysql数据库 历史最全 分32位系统与64位系统
2019-03-03 17:26:30.net 链接mysql 必备,官方整理下载,辛苦来之不易,请多多支持!包含.net 2.0 4.0 4.5 5.0到7.0。 -
c# to mysql.zip_MYSQL_c# mysql_c#mysql_mysql C#_mysql 增删查改
2022-07-13 22:00:34C#访问mysql数据库,对数据库进行增删改查 -
C# MySQL数据库例子源码.rar
2020-04-10 09:40:15C#连接Mysql数据库的例子,可以参考一下。 -
C# mysql 封装的增删改查
2017-12-29 15:16:12增删改查 四种语句对象的封装,可以通用。首先在项目中添加引用 -
C# mysql demo
2018-09-19 07:50:47mysql5.5 测试例程,使用vs2013编译,开发语言C# 通用的MysqlHelper还没玩熟练,欢迎大家发表评论意见 -
C#调用MySQL数据库(使用MySql.Data.dll连接)
2022-03-29 16:55:07MySqlConnectionsqlCon= new MySqlConnection("Database=数据库名字;Data Source=服务器的ip地址;User Id=用户名;Password=用户密码"); 或者: MySqlConnectionsqlCon= new MySqlConnection("server=服务器的ip... -
c# mysql connection
2016-11-26 17:35:11c# 开发数据库连接dll文件,相当于Java中的jar文件 -
C#操作mysql数据库的封装类
2021-07-07 10:42:27C#操作mysql数据库的封装类,带注释,代码完整,适合企业级开发 -
C#连接Mysql封装类操作
2020-04-13 14:33:16一个链接MySQL的封装 包含有结果查询和无结果查询 记得先安装mysql-connector-net-8.0.18 然后在项目中添加引用Mysql.Data -
C# mysql 创建数据库
2021-04-15 19:03:17C# mysql 创建数据库关注:145答案:2mip版解决时间 2021-01-16 18:56提问者旧梦已过期2021-01-16 09:46C# mysql 创建数据库最佳答案二级知识专家他拾裏鰅妳2021-01-16 10:14不知道楼主是不是要用c#创建一个数据库,用...C# mysql 创建数据库
关注:145 答案:2 mip版
解决时间 2021-01-16 18:56
提问者旧梦已过期
2021-01-16 09:46
C# mysql 创建数据库
最佳答案
二级知识专家他拾裏鰅妳
2021-01-16 10:14
不知道楼主是不是要用c#创建一个数据库,
用C#来创建的话可以用脚本,如果是的话,那就是下面这些代码
private void createdata(string sql, string servername, string database,string user, string pwd)
{
string connStr = string.Format("data source=" + servername + ";database="+database+";uid=" + user + ";pwd=" + pwd + "");
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
private void button1_Click(object sender, EventArgs e)
{
if (this.textBox2.Text == "")
{
MessageBox.Show("请输入用户名");
this.textBox2.Focus();
}
else
{
this.openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
this.openFileDialog1.ShowDialog();
if (this.openFileDialog1.FileName.ToString() == "")
{
MessageBox.Show("未选择脚本文件");
}
else
{
StringBuilder sqlblr = new StringBuilder();
sqlblr.Append(File.ReadAllText(this.openFileDialog1.FileName.ToString(), System.Text.Encoding.GetEncoding("GB2312")));
}
try
{
createdata(sqlblr.ToString(), this.comboBox1.SelectedItem.ToString(), "master",this.textBox2.Text, this.textBox1.Text);
this.openFileDialog1.Reset();
MessageBox.Show("创建数据库成功");
}
catch (Exception E)
{
MessageBox.Show(E.Message);
}
}
}
}
}
全部回答
1楼归人
2021-01-16 10:36
第三方组件:mysql.data.dll
说明:去官方网站下载mysql.data.dll,然后在项目中添加该组件的引用,在代码页里输入using mysql.data.mysqlclient,我们就可以顺利的使用该类库的函数建立连接了。
以下是几个常用函数:
#region 建立mysql数据库连接
/// /// 建立数据库连接.
///
/// 返回mysqlconnection对象
public mysqlconnection getmysqlcon()
{
string m_str_sqlcon = "server=localhost;user id=root;password=root;database=abc"; //根据自己的设置
mysqlconnection mycon = new mysqlconnection(m_str_sqlcon);
return mycon;
}
#endregion
#region 执行mysqlcommand命令
/// /// 执行mysqlcommand
///
/// sql语句
public void getmysqlcom(string m_str_sqlstr)
{
mysqlconnection mysqlcon = this.getmysqlcon();
mysqlcon.open();
mysqlcommand mysqlcom = new mysqlcommand(m_str_sqlstr, mysqlcon);
mysqlcom.executenonquery();
mysqlcom.dispose();
mysqlcon.close();
mysqlcon.dispose();
}
#endregion
#region 创建mysqldatareader对象
/// /// 创建一个mysqldatareader对象
///
/// sql语句
/// 返回mysqldatareader对象
public mysqldatareader getmysqlread(string m_str_sqlstr)
{
mysqlconnection mysqlcon = this.getmysqlcon();
mysqlcommand mysqlcom = new mysqlcommand(m_str_sqlstr, mysqlcon);
mysqlcon.open();
mysqldatareader mysqlread = mysqlcom.executereader(commandbehavior.closeconnection);
return mysqlread;
}
#endregion
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看
-
C#在MySQL大量数据下的高效读取、写入详解
2020-12-26 04:05:00C#操作MySQL大量数据最常见的操作便是 select 读取数据,然后在C#中对数据进行处理, 完毕后再插入数据库中。 简而言之就 select -> process -> insert 三个步骤。 对于数据量小的情况下(百万级别 or 几百兆)可能 ... -
C# mysql增删改查
2021-09-08 17:10:59先加入依赖MySql.Data6.8.8 创建好数据库及表 public void MysqlTest() { string myConnectionString = "Server = localhost; UserId = root; Password = 123456; Database = ft_m20;pooling=false;charset=...先加入依赖MySql.Data 6.8.8
创建好数据库及表
public void MysqlTest() { string myConnectionString = "Server = localhost; UserId = root; Password = 123456; Database = ft_m20;pooling=false;charset=utf8"; try { conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString); conn.Open(); Log("mysql连接成功"); //增 string sql3 = "insert into ft_imei (imei,state) values ('IMEI00001','1')"; MySqlCommand cmd3 = new MySqlCommand(sql3, conn); int rows = cmd3.ExecuteNonQuery(); Log("mysql插入影响行数"+rows); //改 string sql5 = "update ft_imei set state=0"; MySqlCommand cmd5 = new MySqlCommand(sql5, conn); int rows5 = cmd5.ExecuteNonQuery(); Log("mysql修改影响行数" + rows5); //查 string sql4 = "select * from ft_imei"; MySqlCommand cmd4 = new MySqlCommand(sql4, conn); MySqlDataReader r= cmd4.ExecuteReader(); Log("mysql查询" ); while (r.Read()) { Log(""+ r[0]+" "+r[1]); } r.Close(); //删 string sql6 = "delete from ft_imei where state=0"; MySqlCommand cmd6 = new MySqlCommand(sql6, conn); int rows6 = cmd6.ExecuteNonQuery(); Log("mysql删除影响行数" + rows6); conn.Close(); } catch (MySql.Data.MySqlClient.MySqlException ex) { Log(ex.Message); } }
-
C# mysql、sqlserver连接demo(源码)
2019-01-22 13:49:23工具:vs2012 语言:C# 内含mysql与sqlserver的数据库连接测试,与获取全部的数据库名称(献给需要的人) -
C# Mysql帮助类
2015-09-25 17:22:24C#连接MySql数据库,其中包含连接、打开数据库,以及大部分的对数据库的操作方法 -
C#实现操作MySql数据层类MysqlHelper实例
2020-09-03 18:45:06主要介绍了C#实现操作MySql数据层类MysqlHelper,实例分析了C#操作MySQL的常用技巧,并将其封装入一个类中以方便调用,需要的朋友可以参考下 -
动软代码生成器 2.76 C# mysql模板
2018-02-02 11:13:24动软代码生成器 2.76 C# mysql模板,版本更新: 1.完善数据库加载的用户体验。 2.完善代码生成的逻辑和bug。 3.完善local的方式的连接数据库问题。 4.完善新建模板的编码问题。 5.完善新建项目的一些问题。 6.更新... -
MySqlHelper C#连接MYSQL类
2018-08-05 12:42:12MySqlHelper C#连接MYSQL类,自己的项目就是使用的类。 -
C# MySQL MySQLCommand对象
2021-01-19 17:34:35using System;using System.Collections.Generic;using System.Linq;using System.Text;...namespace ConsoleApplication2{class Program{static void Main(string[] args){//MySQLConnection sc =...using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySQLDriverCS;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
//MySQLConnection sc = null;
MySQLConnection sc = new MySQLConnection(new MySQLConnectionString( "b", "root", "sa").AsString);
try
{
sc.Open();
//MySQLCommand cmd = new MySQLCommand("insert into students values('aaaaa1',10,'bbbb',100)",sc);
//MySQLCommand cmd = new MySQLCommand("delete from students where name='aaaaa1'", sc);
MySQLCommand cmd = new MySQLCommand("update students set age=200 where name='adsf'",sc);
int i = cmd.ExecuteNonQuery();
if(i>0)
Console.WriteLine("添加数据成功");
}
catch (System.Exception ex)
{
Console.WriteLine("打开数据库错误:{0}", ex.Message);
}
finally
{
sc.Close();
Console.WriteLine("关闭数据库成功");
}
System.Console.ReadLine();
}
}
}
-
C# mysql 插入数据,中文乱码的解决方法
2020-12-25 20:11:51一种是在执行语句前面设置,如: 代码如下:MySQLCommand mCommand = new MySQLCommand(“set names gb2312”, m_Connection);另一种是直接加在连接字符串里,如: 代码如下:”connection” connectionString=”... -
Mysql EF Test_c#mysql例程_
2021-09-29 15:00:21这是一个c#开发的mysql连接测试程序,使用c#对mysql进行连接 -
C#编程之c#mysql批量更新的两种方法
2021-01-26 17:06:20本文主要向大家介绍了C#编程之c#mysql批量更新的两种方法,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。总体而言update更新上传速度还是慢.1:简单的insert速度稍稍比MySqlDataAdapter慢一点配合dapper... -
C# MySQL Connector/Net Developer Guide
2017-03-20 17:02:37使用C#操作数据库,这是从mysql官网下载,值得信赖,一贯免积分下载! Happy Coding ,Enjoy Yourself !!! -
C# mysql操作的最好实例demo+帮助文档
2017-12-22 10:06:53本人发现的最好的mysql连接操作的例子,有chm帮助文档,demo,亲测可用。看完之后基本上mysql操作就没有问题了。先运行demo试一试。 -
C# MySQL 参数化查询方式
2021-01-19 21:11:37C# MySQL 参数化查询方式using System;using MySql.Data.MySqlClient;namespace MySqlDemo{class Program{static void Main(string[] args){string connectionString = "server=127.0.0.1;port=3306;database=test_... -
NET 2.0的C#MySQL配置文件提供程序
2021-04-08 09:55:26这是用C#编写的用于.NET 2.0的基于MySQL的配置文件提供程序