import pyodbc server = '127.0.0.1' database = 'SQL_PLC' username = 'sa' password = 'bme12345' cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password) cursor = cnxn.cursor() cursor.execute("INSERT INTO plcdata (出水压力,瞬时流量,总流量,当日运行次数,运行总次数) VALUES (?, ?, ?, ?, ?)", 10, 20, 30, 40, 50) cnxn.commit()错误
时间: 2023-12-25 21:03:15 浏览: 124
看起来你在使用 pyodbc 连接 SQL Server 数据库并插入数据,但是代码中存在错误。具体来说,cursor.execute() 方法的参数中缺少一个元组,你需要将要插入的数据作为参数传递给该方法,如下所示:
```python
cursor.execute("INSERT INTO plcdata (出水压力,瞬时流量,总流量,当日运行次数,运行总次数) VALUES (?, ?, ?, ?, ?)", (10, 20, 30, 40, 50))
```
注意,需要将要插入的数据放在一个元组中,并将该元组作为参数传递给 execute() 方法。另外,如果插入的数据值为字符串类型,需要用单引号或双引号将其括起来。最后,记得调用 cnxn.commit() 方法提交数据。
相关问题
import pyodbc server = '127.0.0.1' database = 'SQL_PLC' username = 'sa' password = 'bme12345' cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password) cursor = cnxn.cursor() cursor.execute("INSERT INTO plcdata (出水压力,瞬时流量,总流量,当日运行次数,运行总次数) VALUES (?, ?, ?, ?, ?)", 10, 20, 30, 40, 50) cnxn.commit() 插入不了
如果插入数据时没有报错,但是数据没有被插入到数据库中,有可能是因为没有正确关闭数据库连接。你可以在代码的最后添加 `cnxn.close()` 来关闭连接,如下所示:
```python
import pyodbc
server = '127.0.0.1'
database = 'SQL_PLC'
username = 'sa'
password = 'bme12345'
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
cursor.execute("INSERT INTO plcdata (出水压力,瞬时流量,总流量,当日运行次数,运行总次数) VALUES (?, ?, ?, ?, ?)", 10, 20, 30, 40, 50)
cnxn.commit()
cnxn.close() # 关闭连接
```
如果还是不能插入数据,你可以尝试打印出异常信息,查看具体的错误原因。你可以在代码中添加 try-except 代码块来捕获异常,如下所示:
```python
import pyodbc
server = '127.0.0.1'
database = 'SQL_PLC'
username = 'sa'
password = 'bme12345'
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
try:
cursor.execute("INSERT INTO plcdata (出水压力,瞬时流量,总流量,当日运行次数,运行总次数) VALUES (?, ?, ?, ?, ?)", 10, 20, 30, 40, 50)
cnxn.commit()
except Exception as e:
print('发生异常:', e)
cnxn.close() # 关闭连接
```
这样可以打印出具体的异常信息,帮助你进一步排查问题。
import pyodbcserver = 'your_server_name'database = 'your_database_name'username = 'your_username'password = 'your_password'cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)cursor = cnxn.cursor()这个代码中将其中sqlsever版本改为2012的
可以将DRIVER改为SQL Server Native Client 11.0,即:
```
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
cnxn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
```
注意,需要先安装 SQL Server Native Client 11.0 的驱动才能使用该代码。
阅读全文