updata语句:
string sql = "update [jbxxb] set [mc]='" + mc_yyg + "',[dh]='" + dh_yyg + "',[dz]='" + dz_yyg + "' where [ID]=1 ";问题一:“人生如梦”大哥让加上“[]”,但是在下不明白原因?“[]”有什么作用?问题二:数据不能提交到数据库中,怀疑是update语句中的错误。问题三:怀疑和数据库mdb文件所在的文件夹的只读属性有关,但是改不了。而且,文件夹的安全选项的权限是完全控制的。
推测过程:一、提交函数(如下),    private void YYGSZ_Click(object sender, EventArgs e)
        {
            //提交信息
            string mc_yyg = MC_YYG.Text;
            string dh_yyg = DH_YYG.Text;
            string dz_yyg = DZ_YYG.Text;     这些正常,调试是有值  
            
string sql = "update [jbxxb] set [mc]='" + mc_yyg + "',[dh]='" + dh_yyg + "',[dz]='" + dz_yyg + "' where [ID]=1 ";
            AccessDB access = new AccessDB();
            int add = access.Execute(sql);
            if (add > 0)
            {
                MessageBox.Show("提交成功", "提示框");
            }
            else
            {
                MessageBox.Show("提交失败","提示框");
            }
            access.Dispose();
        }二、数据库表“jbxxb”中的字段
   “ID”是自动编号,“mc”、“dh”“dz”等是文本格式的。三、数据库连接函数正确(可以实现查询功能)四、执行SQL命令的函数 
           ///<summary>
            ///执行SQL语句
            ///</summary>
            ///<param name="str">SQL命令</param>
            ///<returns>返回影响行数</returns>
            public int Execute(string str)
            {
                OleDbCommand Comm = new OleDbCommand(str, Conn);
                int R = Comm.ExecuteNonQuery();
                Comm.Dispose();
                return R;
            }小弟在此拜过

解决方案 »

  1.   

    不知道你保存的字段是否有日期型字段!
    如果有的话,Access中的日期字段不能用单引号,而是应该用#号!!
      

  2.   

    很遗憾,connection String 没有列出,而往往问题就在那儿
      

  3.   


    怎样跟踪,设断点了,没发现什么错误。一楼:恩,不出错但不能更新。四楼:ID”是自动编号,“mc”、“dh”“dz”等是文本格式的。五楼:连接函数。
                 public AccessDB()
                {
                    string connectionString="";
                    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
                    connectionString =connectionString + @System.Configuration.ConfigurationSettings.AppSettings["connString"].ToString();
                    Conn = new OleDbConnection(connectionString);
                    Conn.Open();
                }
      

  4.   

    app.confing文件中的代码:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
        </configSections>
      <connectionStrings>
        <add name="tsleyyg.Properties.Settings.tsleyygConnectionString"
          connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\App_Data\tsleyyg.mdb;Persist Security Info=True"
          providerName="System.Data.OleDb" />
      这个是干嘛的,原来没有啊。  </connectionStrings>
      <appSettings>
        <add key="connString" value="Data Source=App_Data\tsleyyg.mdb"/>        连接字符串“connString”  </appSettings>
    </configuration>
      

  5.   

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
        </configSections>
      <connectionStrings>
        <add name="tsleyyg.Properties.Settings.tsleyygConnectionString"
          connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\App_Data\tsleyyg.mdb;Persist Security Info=True"
          providerName="System.Data.OleDb" />
      </connectionStrings>
      <appSettings>
        <add key="connString" value="Data Source=App_Data\tsleyyg.mdb"/>
      </appSettings>
    </configuration>
      

  6.   


    没有错误提示啊。 现在就已经用了啊access.Dispose(); public void Dispose()
                {
                    if (ds != null)
                    {
                        ds.Clear();
                    }
                    if (dt != null)
                    {
                        dt.Clear();
                    }
                    if (Conn != null)
                    {
                        Conn.Close();
                    }
                }
      

  7.   

    把 “Data Source=|DataDirectory|\App_Data\tsleyyg.mdb;”
    改成“Data Source=\..\..\tsleyyg.mdb;”  
    并把tsleyyg.mdb文件移到App_Data目录的上一级目录。
      

  8.   

    楼主试着将数据库文件(*.MDB)放到其他文件夹再访问试试,例如D:\
      

  9.   


    连接字符串:<appSettings>
        <add key="connString" value="Data Source=App_Data\tsleyyg.mdb"/>
      </appSettings>
    下面这个也是在app.config中的<connectionStrings>
        <add name="tsleyyg.Properties.Settings.tsleyygConnectionString"
          connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\App_Data\tsleyyg.mdb;Persist Security Info=True"
          providerName="System.Data.OleDb" />
      </connectionStrings>   这是一个什么东西?把它注释了一样可以实现查询功能,貌似没什么用。
      

  10.   

    不行再改成“Data Source=..\..\tsleyyg.mdb;”   
      

  11.   

    app.config是存储项目属性的
    把下面的:
    connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\App_Data\tsleyyg.mdb;Persist Security Info=True"
    改成:
    connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\tsleyyg.mdb;Persist Security Info=True"
    关闭时,选保存。
    =========================
    上面也可在项目属性-设置中改
      

  12.   

      
            跟踪得到的sql语句在数据库中执行是否正确?