当我想保存时,我的项目出错了 [英] My project is giving an error when I want to save

查看:73
本文介绍了当我想保存时,我的项目出错了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在说SQL语句中有问题

这里是代码



我尝试了什么:



Dim sqlinsert As String

sqlinsert =INSERT INTO CLASS(ID,STUDENT_ID,DOP,ACCOUNT, CLASS TEACHER,CLASS NAME)&

VALUES(@ ID,@ STUDENT_ID,@ DOP,@NAME OF ACCOUNT,@ CLASS TEACHER,@ CLASS NAME)

Dim CMD As New OleDbCommand(sqlinsert,conn1)

CMD.Parameters.Add(New OleDbParameter(@ ID,txt_id))

CMD.Parameters.Add(新的OleDbParameter(@ STUDENT_ID,txt_std))

CMD.Parameters.Add(新的OleDbParameter(@ DOP,txtx_dop))

CMD.Parameters.Add(新的OleDbParameter(@ NAME OF ACCOUNT,txt_acc))

CMD.Parameters.Add(新OleDbParameter(@ CLASS TEACHER,txt_teacher))

CMD.Parameters .Add(新OleDbParameter(@ CLASS NAME,txt_teacher))

conn1.Open()

CMD.ExecuteNonQuery()

conn1.Close()



DGV1.Refresh()

IT IS SAYING THAT THERE IS A PROBLEM IN MY SQL SYNTAX
HERE IS THE CODE

What I have tried:

Dim sqlinsert As String
sqlinsert = "INSERT INTO CLASS(ID, STUDENT_ID, DOP, NAME OF ACCOUNT, CLASS TEACHER, CLASS NAME)" &
"VALUES(@ID, @STUDENT_ID, @DOP, @NAME OF ACCOUNT, @CLASS TEACHER, @CLASS NAME)"
Dim CMD As New OleDbCommand(sqlinsert, conn1)
CMD.Parameters.Add(New OleDbParameter("@ID", txt_id))
CMD.Parameters.Add(New OleDbParameter("@STUDENT_ID", txt_std))
CMD.Parameters.Add(New OleDbParameter("@DOP", txtx_dop))
CMD.Parameters.Add(New OleDbParameter("@NAME OF ACCOUNT", txt_acc))
CMD.Parameters.Add(New OleDbParameter("@CLASS TEACHER", txt_teacher))
CMD.Parameters.Add(New OleDbParameter("@CLASS NAME", txt_teacher))
conn1.Open()
CMD.ExecuteNonQuery()
conn1.Close()

DGV1.Refresh()

推荐答案

你的参数名中不能有这样的空格



You can't have spaces in your parameter names like that

Dim sqlinsert As String
 sqlinsert = "INSERT INTO CLASS(ID, STUDENT_ID, DOP, NAME OF ACCOUNT, CLASS TEACHER, CLASS NAME)" &
 "VALUES(@ID, @STUDENT_ID, @DOP, @NAME_OF_ACCOUNT, @CLASS_TEACHER, @CLASS_NAME)"
 Dim CMD As New OleDbCommand(sqlinsert, conn1)
 CMD.Parameters.Add(New OleDbParameter("@ID", txt_id))
 CMD.Parameters.Add(New OleDbParameter("@STUDENT_ID", txt_std))
 CMD.Parameters.Add(New OleDbParameter("@DOP", txtx_dop))
 CMD.Parameters.Add(New OleDbParameter("@NAME_OF_ACCOUNT", txt_acc))
 CMD.Parameters.Add(New OleDbParameter("@CLASS_TEACHER", txt_teacher))
 CMD.Parameters.Add(New OleDbParameter("@CLASS_NAME", txt_teacher))


你好,

很可能你的列名包含空格因此错误来了。

将这些列放在方括号中。



这样改变,

Hello ,
Most probably you column name contains spaces , hence error comes .
put those columns in square braces .

Change like this way ,
Dim sqlinsert As String
 sqlinsert = "INSERT INTO CLASS(ID, STUDENT_ID, DOP, [NAME OF ACCOUNT], [CLASS TEACHER], [CLASS NAME])" &
 "VALUES(@ID, @STUDENT_ID, @DOP, @NAME_OF_ACCOUNT, @CLASS_TEACHER, @CLASS_NAME)"
 Dim CMD As New OleDbCommand(sqlinsert, conn1)
 CMD.Parameters.Add(New OleDbParameter("@ID", txt_id))
 CMD.Parameters.Add(New OleDbParameter("@STUDENT_ID", txt_std))
 CMD.Parameters.Add(New OleDbParameter("@DOP", txtx_dop))
 CMD.Parameters.Add(New OleDbParameter("@NAME_OF_ACCOUNT", txt_acc))
 CMD.Parameters.Add(New OleDbParameter("@CLASS_TEACHER", txt_teacher))
 CMD.Parameters.Add(New OleDbParameter("@CLASS_NAME", txt_teacher))





谢谢



Thanks


这篇关于当我想保存时,我的项目出错了的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆