问题1
核对了表结构,没错。
在ACCESS.exe中执行下面的SQL语句没错。参数个数没错
但在网站程序中却报错,找不到原因.public static ZaiXian AddUser(ZaiXian zai)
      {
          ZaiXian xian = null;
          OleDbConnection conn = DBHelper.conn();
          string sql = "insert into ZaiXian(ZhuT, Massages, Names,LTime,Phones,Emails) values(@ZhuT, @Massages, @Names,@LTime,@Phons,@Emails)";
          OleDbCommand cmd = new OleDbCommand(sql, conn);
          cmd.Parameters.AddWithValue("@ZhuT", zai.ZhuT);
          cmd.Parameters.AddWithValue("@Massages", zai.Massages);
          cmd.Parameters.AddWithValue("@Names", zai.Names);
          cmd.Parameters.AddWithValue("@LTime", zai.LTime);
          cmd.Parameters.AddWithValue("@Phons", zai.Phons);
          cmd.Parameters.AddWithValue("@Emails", zai.Emails);
          conn.Open();
          cmd.ExecuteScalar();
          conn.Close();
          return xian;
      }
我对比了其他类的SQL语句,接下来这个是没有错的。
string sql = "insert into YanShiInfos(InfosBti, InfosNr, InfosTime) values(@InfosBti, @InfosNr, @InfosTime)";
---------------------------------------------
问题2:
服务器错误:在 SQL 语句结尾之后找到字符搞死人了,用SQL根本没这些问题,下午就要给客户了

解决方案 »

  1.   

    我也看不出来不然改成这种格式试下
     OleDbCommand cmd = new OleDbCommand(sql, conn);
                OleDbParameter[] parm = new OleDbParameter[1];//这里记得多少个参数就写几
                parm[0] = new OleDbParameter("ZhuT", OleDbType.VarChar);
                parm[0].Value = zai.ZhuT;不知道类型会不会错了,或者用到了关键字
      

  2.   

    cmd.ExecuteScalar();=》cmd.ExecuteNonQuery();
      

  3.   

    还有,Access的占位符貌似是?不是@而且顺序的匹配的,如果顺序不对,也有问题
      

  4.   

    ACCESS不支持多语句..
    也就是一次只能执行一个SQL语句...
      

  5.   

    问题1:你的表字段有关键字。每个字段加个L试试。
    问题2:ACCESS只能一次执行一个SQL语句
      

  6.   

    cmd.ExecuteNonQuery();
    一次只能执行一条SQL。 
    多条SQL需要多次执行
                foreach(string s in lst)
                 {
                    if (s.Trim().Length > 1)
                    {
                        cmd.CommandText = s;
                        cmd.ExecuteNonQuery();
                    }
                }          
                cmd.Transaction.Commit();  
      

  7.   

    那个日期字段出错,愿意是日期格式问题。Access 非常麻烦。保存日期要用OleDbType.DBTimeStamp,而且要.ToString("yyyy-MM-dd HH:mm:ss")传递字符串进去。
      

  8.   

    现在才看到,抱歉、、、呵呵
    你的ZaiXian表里面是不是只有那6个字段?
    如果不是的话,要补全,没有值的就用null
      

  9.   

    问题多半出现在这个"InfosTime"字段上,你好好看。
      

  10.   

    zai对象每个属性都有值吗?
    关于日期值的问题,可以参考这个
    http://dotnet.aspx.cc/article/27c0d578-e4df-44dc-91a7-54ba10a53d1f/read.aspx