none
什么不能插入到数据库里,麻烦各位帮帮忙 RRS feed

  • 问题

  • 没有显示任何错误,但是就是不能把数据插入到数据库里
    应该如何修改

    OleDbConnection conn = new OleDbConnection();
            conn.C + "Data Source=" + Server.MapPath("App_Data/eshop.mdb.mdb");
            conn.Open();
            string strVal = "'" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "'" ;
            string strSQL = "insert into 用户(UserName,Password,RealName,Telephone,Email,Address) values(" + strVal + ")";
            OleDbCommand com = new OleDbCommand(strSQL, conn);
            OleDbDataAdapter da = new OleDbDataAdapter();
            da.InsertCommand = com;
            da.InsertCommand.ExecuteNonQuery();
            //com.ExecuteNonQuery();
            conn.Close();
    2009年12月25日 13:38

答案

  • 搞掂了,原来是这里出问题
    string strSQL = "insert into 用户([UserName],[Password],[RealName],[Telephone],[Email],[Address]) values(" + strVal + ")";
            OleDbCommand com = new OleDbCommand(strSQL, conn);
            OleDbDataAdapter da = new OleDbDataAdapter();
            da.InsertCommand = com;
            da.InsertCommand.ExecuteNonQuery();
            conn.Close();
    • 已标记为答案 tdmagicjie 2009年12月25日 17:53
    2009年12月25日 15:52

全部回复

  • string strSQL = "insert into 用户(UserName,Password,RealName,Telephone,Email,Address) values(" + strVal + ")";
    你的表里是6个字段,而你strVal 是5个。丢了一个吧
    • 已建议为答案 mldark 2009年12月25日 14:28
    2009年12月25日 14:25
  • 修改成这样后,都是唔可以插入到数据库里啊 ,为什么会这样呢? OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=" + Server.MapPath("App_Data/eshop.mdb.mdb");
            conn.Open();
            string strVal = "'" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox7.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "'";
            string strSQL = "insert into 用户(UserName,Password,RealName,Telephone,Email,Address) values(" + strVal + ")";
            OleDbCommand com = new OleDbCommand(strSQL, conn);
            //OleDbDataAdapter da = new OleDbDataAdapter();
            //da.InsertCommand = com;
            //da.InsertCommand.ExecuteNonQuery();
            //com.ExecuteNonQuery();
            conn.Close();
    2009年12月25日 14:52
  • 既然你用了OleDbDataAdapter
    //OleDbDataAdapter da = new OleDbDataAdapter();
            //da.InsertCommand = com;
            //da.InsertCommand.ExecuteNonQuery();

    这些代码都被你注释掉了还怎么执行阿
    2009年12月25日 14:57
  • 假如不注释掉的话,会出现Insert语句出错的,又应该如何呢?
    2009年12月25日 15:07
  • 你这只是一个简单的数据库插入,你应该会吧,前面2个帖子给你写的数据库插入你看下嘛。

    如果不是很了解可以看下MSDN:
    http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executenonquery(VS.80).aspx
    • 已编辑 极度 2009年12月25日 15:13
    2009年12月25日 15:10
  • 看了
    所以就觉得奇怪,为什么会出错,我再好好检查下吧。
    多谢你前两个贴子的回复
    2009年12月25日 15:13
  • 搞掂了,原来是这里出问题
    string strSQL = "insert into 用户([UserName],[Password],[RealName],[Telephone],[Email],[Address]) values(" + strVal + ")";
            OleDbCommand com = new OleDbCommand(strSQL, conn);
            OleDbDataAdapter da = new OleDbDataAdapter();
            da.InsertCommand = com;
            da.InsertCommand.ExecuteNonQuery();
            conn.Close();
    • 已标记为答案 tdmagicjie 2009年12月25日 17:53
    2009年12月25日 15:52