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() 
就是插入数据库那一段 

解决方案 »

  1.   

    自己顶
    就是插入数据库的sql插入语句有毛病,我对书作的,可还不行
      

  2.   

    DBInsert.CommandText = "INSERT INTO Family (FamilyName, FamilyCreater) VALUES ('"+Replace(txtFamilyName.Text, "'", "''")+"', '"+Replace(txtFamilyC.Text, "'", "''")+"')";
      

  3.   

    回复人: veryhappy(wx.net) ( ) 信誉:100 
    hDBInsert.CommandText = "INSERT INTO Family (FamilyName, FamilyCreater) VALUES ('"+Replace(txtFamilyName.Text, "'", "''")+"', '"+Replace(txtFamilyC.Text, "'", "''")+"')";正确.你字段肯定是字符行的
    按照你自己的话就是数字行了.肯定报错啊!
    字符行记得加上 单引号 '
      

  4.   

    DBInsert.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知识太缺乏,上述语句到处是毛病.
    希望加强这方面的学习.
      

  5.   

    9494,俺也觉得自个儿sql只是乏得可以,那位英雄能推荐一点相关站点、页面学习一下
      

  6.   

    Replace是.NET函数当然不能放在"Replace"之中拉