Business里有这样的1个方法
public static bool update(string BC_Code,string BC_Name,string CustomerFlg,string SupplierFlg,string BC_PostalCd,string BC_Addr1,string BC_Addr2,float AR_Limit,string CustomerLank,string BC_StartYM,int UpdateCnt,DateTime UpdateDateTime,string UpdateDateMenber,string FreeForTest)
              {
            try
            {
                string sql = "update M_BusinessConnect set BC_Name='" + BC_Name + "',CustomerFlg='" + CustomerFlg + "',SupplierFlg='" + SupplierFlg + "',BC_PostalCd='" + BC_PostalCd + "',BC_Addr1='" + BC_Addr1 + "',BC_Addr2='" + BC_Addr2 +"',AR_Limit='" + AR_Limit + "',CustomerLank='" + CustomerLank + "',BC_StartYM='" + BC_StartYM + "',UpdateCnt='" + UpdateCnt + "',UpdateDateTime='" + UpdateDateTime + "',FreeForTest='" + FreeForTest + "'where BC_Code='" + BC_Code + "'";
                
                DBManager db = new DBManager();
                db.edit(sql);
                return true;
            }
            catch
            {
                throw new Exception();
                return false;
            }

解决方案 »

  1.   

    前面随便输入值调用方法,但失败。。为何,谁帮帮小生
    try{
                    R01_Business.update("123332", "1", "1", "1", "1", "1", "1", 1.3f, "1", "1", 1, new DateTime(), "1", "1");
                }catch(Exception x)
                {
                    MessageBox.Show(x.ToString());
                }
      

  2.   

    System.Exception:'System.Exception'の例外がすローきねました
      

  3.   

    看看表字段的类型,特别是updatedatetime
      

  4.   

    应该是你的sql语句拼的有问题...建议使用参数..for exmaple:OracleConnection con=new OracleConnection("连接字符串");
    OracleCommand cmd=new OracleCommand("update studentDetails set sname=:Sname where sno=:Sno",con);
    cmd.Parameters.AddWithValue("Sname","test");
    cmd.Parameters.AddWithValue("Sno","aaa");
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
      

  5.   

    改成这样试试:string sql = "update M_BusinessConnect set BC_Name='" + BC_Name + "',CustomerFlg='" + CustomerFlg + "',SupplierFlg='" + SupplierFlg + "',BC_PostalCd='" + BC_PostalCd + "',BC_Addr1='" + BC_Addr1 + "',BC_Addr2='" + BC_Addr2 +"',AR_Limit='" + AR_Limit + "',CustomerLank='" + CustomerLank + "',BC_StartYM='" + BC_StartYM + "',UpdateCnt=" + UpdateCnt + ",UpdateDateTime=" + UpdateDateTime + ",FreeForTest='" + FreeForTest + "'where BC_Code='" + BC_Code + "'";
      

  6.   

    TO:int UpdateCnt,DateTime UpdateDateTime
    ..UpdateCnt='" + UpdateCnt + "',UpdateDateTime='" + UpdateDateTime + "'..
    你的这两个参数分别为int型和datetime型,所以在组织sql语句时不要用单引号...
      

  7.   

    用了楼上的方法,还是同样问题,而且没有cmd.Parameters.AddWithValue,只有cmd.Parameters.Add,。我是VS2005
      

  8.   

    TO:R01_Business.update("123332", "1", "1", "1", "1", "1", "1", 1.3f, "1", "1", 1, new DateTime(), "1", "1");另外,DateTime有不带参数的构造函数吗?楼主的意思应该是记录更新的时间,可以这样..R01_Business.update("123332", "1", "1", "1", "1", "1", "1", 1.3f, "1", "1", 1, System.DateTime .Now, "1", "1");
      

  9.   

    TO:而且没有cmd.Parameters.AddWithValue,只有cmd.Parameters.Add,。我是VS2005AddWithValue就是VS2005里面的...
      

  10.   

    异常就上面那个阿System.Exception:'System.Exception'の例外がすローきねました
    后面还加了1串东西,太多了。。我单步看看==
      

  11.   

    问题应该是cmd.ExecuteNonQuery();这里就进CATCH了
      

  12.   

    我也看不懂第一次搞C#,以前搞J2EE的,不好意思,麻烦大家乐
      

  13.   

    刚掉了一个,还有一个是float型的..try..string sql = "update M_BusinessConnect set BC_Name='" + BC_Name + "',CustomerFlg='" + CustomerFlg + "',SupplierFlg='" + SupplierFlg + "',BC_PostalCd='" + BC_PostalCd + "',BC_Addr1='" + BC_Addr1 + "',BC_Addr2='" + BC_Addr2 +"',AR_Limit=" + AR_Limit + ",CustomerLank='" + CustomerLank + "',BC_StartYM='" + BC_StartYM + "',UpdateCnt=" + UpdateCnt + ",UpdateDateTime=" + UpdateDateTime + ",FreeForTest='" + FreeForTest + "'where BC_Code='" + BC_Code + "'";
      

  14.   

    ...例外がすローきねました的“すロー”的意思是:slow ;“ねました”的意思是:sleep 。
    你再多贴点错误信息出来。
      

  15.   

    System.Exception:'System.Exception'の例外がすローきねました.场所Proj.R01_Business.update(string BC_Code,string BC_Name,string CustomerFlg,string SupplierFlg,string BC_PostalCd,string BC_Addr1,string BC_Addr2,float AR_Limit,string CustomerLank,string BC_StartYM,int UpdateCnt,DateTime UpdateDateTime,string UpdateDateMenber,string FreeForTest)场所C:\Documents and Settings\Administrator.HOTJAVA-C0511E0\Desktop\Proj\Proj\R01_Business.cs:行31场所Proj.R01_BusinessConnectM_Update.button2_Click(object sender, EventArgs e)场所C:\Documents and Settings\Administrator.HOTJAVA-C0511E0\Desktop\Proj\Proj\R01_BusinessConnectM_Update.cs:行32
      

  16.   

    是你的sql语句的错误,建议用 liujia_0421(SnowLover) ( ) 信誉:100    Blog  2007-3-8 14:51:27  得分: 0  的方法试试。
      

  17.   

    你单步调试,调试到db.edit(sql);这里的时候,把sql的值copy出来,到你的数据库中去试试,看能不能更新。多数是sql语句的问题。
      

  18.   

    UpdateDateTime好像不对。。那该如何写呢,System.DateTime .Now是返回的2007/03/08 16:41:03,好像不应该要后面的时间,数据库里是DATE类型
      

  19.   

    vb.net中是这样写的:dtDate.ToShortDateString(),C#就不知道了
      

  20.   

    TO:UpdateDateTime好像不对。。那该如何写呢,System.DateTime .Now是返回的2007/03/08 16:41:03,好像不应该要后面的时间,数据库里是DATE类型这个是可以的,应该不是这里的问题...现在关键也弄不清楚你出现的异常到底是怎么回事,也不知道怎么帮你解决...
      

  21.   

    或者你把你update方法中的参数UpdateDateTime改成string型的
      

  22.   

    或者你就把 
    string sql = "update M_BusinessConnect set BC_Name='" + BC_Name + "',CustomerFlg='" + CustomerFlg + "',SupplierFlg='" + SupplierFlg + "',BC_PostalCd='" + BC_PostalCd + "',BC_Addr1='" + BC_Addr1 + "',BC_Addr2='" + BC_Addr2 +"',AR_Limit='" + AR_Limit + "',CustomerLank='" + CustomerLank + "',BC_StartYM='" + BC_StartYM + "',UpdateCnt='" + UpdateCnt + "',UpdateDateTime='" + UpdateDateTime + "',FreeForTest='" + FreeForTest + "'where BC_Code='" + BC_Code + "'";
    这个string sql改成:
                    With sql
                        .Remove(0, .Length)
                        .Append(" UPDATE ")
                        .Append("   M_BusinessConnect ")
                        .Append(" SET ")
                        .Append("   BC_Name = ")
                        .AppendFormat("   '{0}',", BC_Name)
                        .....
                        .Append("   UpdateDateTime = ")
                        .AppendFormat("   '{0}'", 把System.DateTime.Now转化为string型的)
                        .Append(" WHERE ")
                        .Append("   BC_Code = ")
                        .AppendFormat("   '{0}'", BC_Code)                End With
    试试看
      

  23.   

    C#有WHILE  。。END WITH???
      

  24.   

    TO:。。我晕 ,那这个怎么搞呀。各位大侠帮帮偶阿!!!!!你就把你update方法中的参数UpdateDateTime的类型该为string型的就可以了
      

  25.   

    那你有没有把你R01_Business.update("123332", "1", "1", "1", "1", "1", "1", 1.3f, "1", "1", 1, System.DateTime.Now, "1", "1");中的那个System.DateTime.Now也改成string型啊?