从文本中读取一些数据,但是其中一些特殊字符:“!#@$%&*^<>?~~???,.;:"'|\/.”不能插入Access数据库,数据库中此字段为备份类型,我该如何解决,谢谢!或者如何写一段程序将其忽略掉。

解决方案 »

  1.   

    ACCESS可以试试用参数化查询解决这个问题比如你在ACCESS中建立一个查询:
    INSERT INTO tb ( fld1, fld2 )
    VALUES ([@1], [@2]);程序中参数的传递和SQL数据库的存储过程一样
      

  2.   

    请问如何使用OleDbParameter??
      

  3.   

    给你一个参考SqlConnection con = personOperate.createCon();
    con.Open();
    SqlCommand cmd = new SqlCommand("insert into personInfo values(@personId,@personName,@personGender)",con);
    SqlParameter para = new SqlParameter("@personId",SqlDbType.Int);
    para.Value = p.personId;
    cmd.Parameters.Add(para);
    para = new SqlParameter("@personName",SqlDbType.VarChar,20);
    para.Value = p.personName;
    cmd.Parameters.Add(para);
    para = new SqlParameter("@personGender",SqlDbType.VarChar,10);
    para.Value = p.personGender;
    cmd.Parameters.Add(para);
    cmd.ExecuteNonQuery();
    con.Close();
      

  4.   

    myComm.CommandText="insert into SMSOUT (Time1,Context,IP,Phonenumber,Port,Content,Purpose) values ('[@"+Time1+"]','[@"+Context+"]','[@"+IP+"]','[@"+Phonenumber+"]','[@"+Port+"]','[@"+Content+"]','[@"+Purpose+"]')";对吗?
      

  5.   

    myComm.CommandText="insert into SMSOUT (Time1,Context,IP,Phonenumber,Port,Content,Purpose) values ('[@"+Time1+"]','[@"+Context+"]','[@"+IP+"]','[@"+Phonenumber+"]','[@"+Port+"]','[@"+Content+"]','[@"+Purpose+"]')";这个写法是错的建议先看文档
    http://chs.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/data/datagrid2.src&file=CS\datagrid2.aspx&font=3
      

  6.   

    myComm.CommandText="insert into SMSOUT (Time1,Context,IP,Phonenumber,Port,Content,Purpose) values (@Time1,@ContextIP,@Phonenumber,@Port,@Content,@Purpose)";