请教,用pydboc连接数据库实现插入功能时出现的问题,数据库为sql server
这是后台代码
def VCD_info(request):
db = pyodbc.connect('DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=VCD_info;UID=sa;PWD=15036838685a;Trusted_Connection=No')
mycursor = db.cursor()
mycursor.execute("select * from VCD")
rows = mycursor.fetchall()
data = {
"VCD": rows
}
if request.method == "GET":
return render(request, 'VCD_info.html', data)
# 获取提交的数据
Vno_info = request.POST.get("Vno")
Vname_info = request.POST.get("Vname")
Actor_info = request.POST.get("Actor")
Price_info = request.POST.get("Price")
Vtype_info = request.POST.get("Vtype")
amount_info = request.POST.get("amount")
# print("Vno:", Vno_info)
# print("Vname:", Vname_info)
# print("Actor:", Actor_info)
# print("Price:", Price_info)
# print("Vtype:", Vtype_info)
# print("amount:", amount_info)
# 添加到数据库
mycursor = db.cursor()
print("insert into VCD values ('Vno_info','Vname_info','Actor_info','Price_info','Vtype_info','amount_info')")
mycursor.execute("insert into VCD values ('Vno','Vname','Actor','Price','Vtype','amount')")
db.commit()
mycursor.close()
db.close()
return HttpResponse("添加成功")
这是前端代码
<div id="myModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h4>新增VCD信息</h4>
<span id="closeBtn" class="close">×</span>
</div>
<div class="modal-body">
<form method="post">
{% csrf_token %}
<p>
VCD编号:<input type="text" name="Vno" placeholder="请输入VCD编号">
</p>
<p>
VCD姓名:<input type="text" name="Vname" placeholder="请输入VCD姓名">
</p>
<p>
VCD作者:<input type="text" name="Actor" placeholder="请输入VCD作者">
</p>
<p>
VCD价格:<input type="text" name="Price" placeholder="请输入VCD价格">
</p>
<p>
VCD类型:<input type="text" name="Vtype" placeholder="请输入VCD类型">
</p>
<p>
VCD库存:<input type="text" name="amount" placeholder="请输入VCD库存">
</p>
</div>
<div class="modal-footer">
<div class="pageInfoBox"></div>
<button class="addButton_ok" type="submit">确定</button>
<button class="addButton_no">取消</button>
</div>
</form>
</div>
</div>
这是报错信息
Traceback (most recent call last):
File "D:\python_path\Lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "D:\python_path\Lib\site-packages\django\core\handlers\base.py", line 126, in _get_response
response = self.process_exception_by_middleware(e, request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\python_path\Lib\site-packages\django\core\handlers\base.py", line 124, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\vscode\html文件\html学习\login\login\view.py", line 49, in VCD_info
mycursor.execute("insert into VCD values ('Vno','Vname','Actor','Price','Vtype','amount')")
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]从数据类型 varchar 转换为 numeric 时出错。 (8114) (SQLExecDirectW)')