请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 8522|回复: 3

B.py调用A.py里面的类不成功,求解?!谢谢

[复制链接]

1

主题

0

好友

11

积分

新手上路

Rank: 1

发表于 2019-10-28 14:41:12 |显示全部楼层
A.py文件代码:
import pymysql
# 定义一个类
class MysqlHelper:
    # 定义连接数据库的信息函数
    def __init__(self, host, port, user, passwd, db, charset):
        self.host = host
        self.port = port
        self.user = user
        self.passwd = passwd
        self.db = db
        self.charset = charset
    # 定义一个连接数据库的函数
    def connect(self):
        self.conn = pymysql.connect(
            self.host, self.port, self.user, self.passwd, self.db)
        self.cursor = self.conn.cursor()
    # 定义一个关闭数据库连接的函数
    def close(self):
        self.cursor.close()
        self.conn.close()
    # 定义一个数据库执行的函数
    def cud(self, sql, params):
        try:
            self.connect()
            self.cursor.execute(sql, params)
            self.conn.commit()
            self.close()
            print('执行成功!')
        except Exception as e:
            print('执行出错'+str(e))
    # 定义一个数据库查询的函数
    def select(self, sql, params):
        try:
            self.connect()
            self.cursor.execute(sql, params)
            result = self.cursor.fetchall()
            self.close()
            print(result)
        except Exception as e:
            print('执行出错'+str(e))



B.py文件代码:
import pymysql
from MySQLHelper import MysqlHelper
name = input('请输入更正的学生姓名:')
id = int(input('请输入该学生的学籍编号:'))
sql = "UPDATE STUDENTS SET NAME=%s WHERE ID=%s"
sqlhelper = MySQLHelper.MysqlHelper('localhost',3306,'root','Eco0212@@','python3','utf8')
sqlhelper.MysqlHelper.cud(sql, params=[name, id])


运行提示错误:
E:\Python\protects>C:/Users/Administrator/AppData/Local/Programs/Python/Python37-32/python.exe e:/Python/protects/MySQL/mysql_updata.py请输入更正的学生姓名:ww请输入该学生的学籍编号:13Traceback (most recent call last):  File "e:/Python/protects/MySQL/mysql_updata.py", line 7, in <module>    sqlhelper = MySQLHelper.MysqlHelper('localhost',3306,'root','Eco0212@@','python3','utf8')NameError: name 'MySQLHelper' is not defined

回复

使用道具 举报

1

主题

0

好友

11

积分

新手上路

Rank: 1

发表于 2019-10-28 14:41:50 |显示全部楼层
求各位前辈指点一下!
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2019-10-28 15:02:52 |显示全部楼层
前面写了
from MySQLHelper import MysqlHelper
那你使用就是直接用
MysqlHelper(...

或者如果你要用
MySQLHelper.MysqlHelper
那前面就要改成
import MySQLHelper

课程里有的 https://python666.cn/cls/lesson/39/

另外,发帖的时候有个添加代码的按钮 <> ,你这个黑压压一片看得有点眼花……
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

11

积分

新手上路

Rank: 1

发表于 2019-10-29 09:48:50 |显示全部楼层
crossin先生 发表于 2019-10-28 15:02
前面写了
from MySQLHelper import MysqlHelper
那你使用就是直接用

太感谢了!!昨天第一次在论坛求解,还不知道有这么方便的操作,下次一定注意!!再次感谢!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-30 21:00 , Processed in 0.025854 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部