Ms access vb.net:程序可以';无法保存到数据库

Ms access vb.net:程序可以';无法保存到数据库,ms-access,vb.net-2010,Ms Access,Vb.net 2010,使用vb.net开发数据库软件,但程序无法保存到数据库 If Microsoft.VisualBasic.Right(Application.StartupPath, 1) = "\" Then sConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\database2.accdb" Else sConnString = "Provid

使用vb.net开发数据库软件,但程序无法保存到数据库

If Microsoft.VisualBasic.Right(Application.StartupPath, 1) = "\" Then
    sConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\database2.accdb"
Else
    sConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\database2.accdb"
End If

conn = New OleDbConnection(sConnString)
conn.Open()
cmd.Connection = conn
cmd.CommandType = CommandType.Text
cmd.CommandText = "INSERT INTO PersonalData (Title, Full Name,Department,Unit,Phone No,Email,Gender,Marital Status,Birthday,Spouse Birthday,Wedding Anniversary,Educational Qualification,No of Kids,Work Experience) VALUES (@Title, @Full Name,@Department,@unit,@Phone No,@Email,@Gender,@Marital Status,@Birthday,@Spouse Birthday,@Wedding Anniversary,@Educational Qualification,@No of Kids,@Work Experience)"
cmd.Parameters.Add("@Title", OleDbType.VarChar).Value = TextBox1.Text
cmd.Parameters.Add("@Full Name", OleDbType.VarChar).Value = TextBox2.Text
cmd.Parameters.Add("@Department", OleDbType.VarChar).Value = TextBox3.Text
cmd.Parameters.Add("@unit", OleDbType.VarChar).Value = TextBox4.Text
cmd.Parameters.Add("@Phone No", OleDbType.VarChar).Value = TextBox5.Text
cmd.Parameters.Add("@Email", OleDbType.VarChar).Value = TextBox6.Text
cmd.Parameters.Add("@Gender", OleDbType.VarChar).Value = TextBox7.Text
cmd.Parameters.Add("@Marital Status", OleDbType.VarChar).Value = TextBox8.Text
cmd.Parameters.Add("@Birthday", OleDbType.VarChar).Value = TextBox9.Text
cmd.Parameters.Add("@Spouse Birthday", OleDbType.VarChar).Value = TextBox10.Text
cmd.Parameters.Add("@Wedding Anniversary", OleDbType.VarChar).Value = TextBox11.Text
cmd.Parameters.Add("@Educational Qualification", OleDbType.VarChar).Value = TextBox12.Text
cmd.Parameters.Add("@No of Kids", OleDbType.VarChar).Value = TextBox13.Text
cmd.Parameters.Add("@Work Experience", OleDbType.VarChar).Value = TextBox14.Text
cmd.ExecuteNonQuery()
MsgBox("Data Uploaded Successfully.", , " ")

它显示指向
cmd.ExecuteNonQuery
的语法错误点,但相同的代码在另一个软件上工作。

您必须给出错误以了解在ExecuteNonQuery期间发生的情况,但是查看代码如果没有给出任何连接错误,则错误可能在变量内

我举一个例子,如果你有一个字符串,其中有一个特殊的字符,比如“你需要用“”替换它”

例如:

mystring=mystring.Replace(“”,““””)


Idk if可以帮助您,如果没有错误消息,这是很难帮助的。

您必须给出错误以了解ExecuteOnQuery期间发生的情况,但是查看代码如果没有给出任何连接错误,则错误可能在变量内

我举一个例子,如果你有一个字符串,其中有一个特殊的字符,比如“你需要用“”替换它”

例如:

mystring=mystring.Replace(“”,““””)


Idk if可以帮助您,如果没有错误消息,这是很难帮助的。

将包含空格字符的对象名称括起来。例如,使用
[Full Name]
而不是
Full Name
我认为OLEDB提供程序在此上下文中不支持命名参数。在SQL命令文本中,尝试将每个参数的“@xxxx”改为“?”,看看是否有帮助。“相同的代码在另一个软件上工作”-不,没有。Gord Thompson使用相同的代码过程创建了另一个数据库程序,它处理了包含空格字符的括号对象名称。例如,使用
[Full Name]
而不是
Full Name
我认为OLEDB提供程序在此上下文中不支持命名参数。在SQL命令文本中,尝试将每个参数的“@xxxx”改为“?”,看看是否有帮助。“相同的代码在另一个软件上工作”-不,没有。Gord Thompson用同样的代码过程创建了另一个数据库程序,它成功了