问题描述
DimConnAsOleDb.OleDbConnectionDimCmdAsOleDb.OleDbCommandDimsqlStringAsStringDimproviderString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:公司管理系统数据库.mdb"Conn=NewOleDb.OleDbConnection(providerString)Conn.Open()sqlString="INSERTINTOdptinfo(id,context,dperson,dtel,ddate,dnnum,dremark)VALUES('''&TextBox1.Text&''','''&TextBox2.Text&''','''&TextBox3.Text&''','''&TextBox4.Text&''','''&textbox7.text&''','''&TextBox5.Text&''','''&TextBox6.Text&''')"Cmd=NewOleDb.OleDbCommandCmd.Connection=ConnCmd.CommandText=sqlStringIfCmd.ExecuteNonQuery()>0ThenMsgBox("部门添加成功")Me.Hide()EndIfEndSub
解决方案
解决方案二:
看下sqlString实际的值是怎样的
解决方案三:
原因已经很明确了,比如整型,你的数是字符。用转换函数就可以了
解决方案四:
很明显是数据类型不匹配,sql语句有问题,可能你把整型的字段赋了字符型的值了
解决方案五:
也许你可以尝试DimalpAsStringalp=Cmd.ExecuteNonQueryIfalp<0ThenMsgBox("部门添加成功")Me.Hide()EndIf
解决方案六:
alp=Cmd.ExecuteNonQuery()抱歉,忘记添加()
解决方案七:
调试下,看下字符串能否在SQL查询分析器里面执行成功!
解决方案八:
不应该在.Text后面添加.ToString()吗?小白拙见,轻打脸
解决方案九:
你的sqlString中插入值都有‘’号,所以都是按文本型的,应该与数据表字段类型一致,这个dnnum字段是不是数字型的?如果是,就去掉‘’号
解决方案十:
插入值和字段类型不符
解决方案十一:
解决方案十二:
首先,对于文本一定要处理其中的单引号。其次,Jet的sql跟SQLServer的sql是不兼容的。不要把后者的sql语句传到前者。例如DateTime的常量表示就不一样。