dappermysql报错多个datareader

dappermysql报错多个datareader,第1张

启动几个线程,每个线程循环进行sql *** 作。

代码的功能很简单,启动几个线程,每个线程循环进行sql *** 作,打印输出,如果是只有一个线程的话怎么用都没有问题,但是两个或者超过两个线程就会一直有Datareader被占用的这个错误。可以用下面的代码:

publicpartialclassForm2:Form

{

privateDataBasePoolm_connpool=DataBasePool.getInstance()

privateMySqlConnectionm_conn

privateRandomm_random=newRandom()

publicForm2()

{

InitializeComponent()

}

privatevoidForm2_Load(objectsender,EventArgse)

{

ThreadPool.SetMaxThreads(50,50)

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

for(inti=0i

{

stringtmpStr="【"+i.ToString()+"】"

ThreadPool.QueueUserWorkItem(newWaitCallback(ProcessRun),tmpStr)

//Thread.Sleep(100000)

}

}

privatestaticobjectobj=newobject()

privatevoidProcessRun(ObjectstateInfo)

{

m_conn=m_connpool.getConnection()

inti=m_random.Next(25000)

stringtmpStr=stateInfo.ToString()

while(true)

{

stringsql="selectlocfromtable_ipaddrwhereid='"+i+"'"

MySqlCommandcmd=newMySqlCommand(sql,m_conn)

try

{

strings=cmd.ExecuteScalar().ToString()

Console.WriteLine(tmpStr+"_"+s)

//lock(obj)

//{

//strings=cmd.ExecuteScalar().ToString()

//Console.WriteLine(tmpStr+"_"+s)

//}

//Thread.Sleep(10000)

}

catch(Exceptionex)

{

Console.WriteLine("error!"+ex.Message)

}

//m_connpool.closeConnection(m_conn)

}

}

}

}

MySqlHelp =>nuget Mysql.Data

一个半自动化的ORM框架,它的本质是在IDBConnnection上定义了一些扩展方法。

nuget Dapper

dapper 返回Sql server 自增长ID 标识列SCOPE_IDENTITY

SQL获取刚插入的记录的自动增长列ID的值

CREATE TABLE [dbo].[MesTest](

[ID] [int] IDENTITY(1,1) NOT NULL,

[Msg] [nvarchar](500) NULL

) ON [PRIMARY]

[TestMethod]

public void TestMethod1()

{

var sql = "INSERT INTO [MesTest] ([Msg]) VALUES('ss')SELECT @id=SCOPE_IDENTITY()"

using (var db = Database.DbService)

{

var p = new DynamicParameters()

p.Add("@ID", dbType: DbType.Int32, direction: ParameterDirection.Output)

var i = db.Execute(sql,p)

var i1 = p.Get<int>("@ID")

Assert.Inconclusive(i1.ToString())

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8697611.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存