Dim DBConn As OleDbConnection
Dim DBInsert As New OleDbCommand
DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;" & "DATA SOURCE=" & Server.MapPath("/shouzhi/Data/shouzhi.mdb;"))
DBInsert.CommandText = "INSERT INTO Family ("FamilyName", "FamilyCreater") VALUES ("Replace(txtFamilyName.Text, "'", """"), "Replace(txtFamilyC.Text, "'", """"))"
DBInsert.Connection = DBConn
DBInsert.Connection.Open()
DBInsert.ExecuteNonQuery()
就是插入数据库那一段
Dim DBInsert As New OleDbCommand
DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;" & "DATA SOURCE=" & Server.MapPath("/shouzhi/Data/shouzhi.mdb;"))
DBInsert.CommandText = "INSERT INTO Family ("FamilyName", "FamilyCreater") VALUES ("Replace(txtFamilyName.Text, "'", """"), "Replace(txtFamilyC.Text, "'", """"))"
DBInsert.Connection = DBConn
DBInsert.Connection.Open()
DBInsert.ExecuteNonQuery()
就是插入数据库那一段
就是插入数据库的sql插入语句有毛病,我对书作的,可还不行
hDBInsert.CommandText = "INSERT INTO Family (FamilyName, FamilyCreater) VALUES ('"+Replace(txtFamilyName.Text, "'", "''")+"', '"+Replace(txtFamilyC.Text, "'", "''")+"')";正确.你字段肯定是字符行的
按照你自己的话就是数字行了.肯定报错啊!
字符行记得加上 单引号 '
-----------------
错误处:
1.将单引号替换为两个双引号.应该是替换为两个单引号
2.txtFamilyName.Text这个值之前应加"+"号.
3.前面的字段名不能加双引号.
修改如下:
sql = "INSERT INTO Family (FamilyName, FamilyCreater) VALUES ('" + Replace(txtFamilyName.Text, "'", "''") + "', '" + Replace(txtFamilyC.Text, "'", "''") "')"
DBInsert.CommandText = sql 另外,建议你分开一段段写,比如取值/替换,先定义个变量,在变量里面把要做的动作全部做完,再拿进来用.还有SQL语句单独写,这样也比较好排错.
一句话,楼主的SQL知识太缺乏,上述语句到处是毛病.
希望加强这方面的学习.