IronPython连接MySQL

举报
天元浪子 发表于 2021/07/27 00:09:01 2021/07/27
【摘要】 原以为在IronPython中使用MySQL是一件很容易的事情,即使有麻烦,也可以改变路径,加载Python下的MySQL模块。事实证明,这是我一厢情愿的想法。要想在IronPython中连接MySQL数据库,必须要调用MySql.Data动态库——这个dll很容易在网上找到,但如何使用这个库,网上的资料如凤毛麟角,难觅其踪。好不容易找到几篇,却又语焉不详,不知所云。 ...

原以为在IronPython中使用MySQL是一件很容易的事情,即使有麻烦,也可以改变路径,加载Python下的MySQL模块。事实证明,这是我一厢情愿的想法。要想在IronPython中连接MySQL数据库,必须要调用MySql.Data动态库——这个dll很容易在网上找到,但如何使用这个库,网上的资料如凤毛麟角,难觅其踪。好不容易找到几篇,却又语焉不详,不知所云。

经过好一番折腾,终于搞明白了MySql.Data.dll的用法。

1. 导入模块

import clr
clr.AddReference("MySql.Data.dll")
from MySql.Data.MySqlClient import * 
  
 
  • 1
  • 2
  • 3

2. 连接数据库

conStr = 'server=%s; user id=%s; password=%s; database=%s; pooling=false; charset=gbk' % (host, user, passwd, db) 
db = MySqlConnection(conStr) 
db.Open() 
  
 
  • 1
  • 2
  • 3

3. 执行插入(更新、删除等)操作

sqlStr = "INSERT INTO ..." 
cmd = MySqlCommand(sqlStr, db) 
rows = cmd.ExecuteNonQuery() 
  
 
  • 1
  • 2
  • 3

4. 执行查询语句

cmd = self.db.CreateCommand () 
cmd.CommandText = "SELECT ..." 
r = cmd.ExecuteReader () 
tagList = [] 
while r.Read (): tagList.append(r['rfidLabel']) 
r.Close () 
return tag in tagList 
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5. 关闭连接

db.Close () 
  
 
  • 1

怎么样?代码风格是不是感觉有点怪异?

文章来源: xufive.blog.csdn.net,作者:天元浪子,版权归原作者所有,如需转载,请联系作者。

原文链接:xufive.blog.csdn.net/article/details/56009475

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。