如果你的TextBox里面没有输入任何值的话 那他的值就是空的
可以提交 执行

解决方案 »

  1.   

    access 97里面默认的是不允许空字符串,access2000里面默认允许空字符串
      

  2.   

    如果还不行,检查一下你的txUser.Text.Trim(),YulinCommerce.Components.Security.Encrypt(txPassword.Text),txName.Text.Trim(), male.Text ,txCompany.Text.Trim(),txTel.Text,txFax.Text,txMobile.Text,txEmail.Text,txCounty.Text.Trim(),City.DataTextField,Country.DataTextField,txAddr.Text.Trim(),txZip.Text的顺序与数据库里面的字段是不是对应的,我经常犯这种低级错误
      

  3.   

    我用的是SQL数据库
    并且在些这个方法的时候用的是存储过程
      

  4.   

    下面贴出方法和存储过程
    public String AddCompany(string UserName,string PassWord,string TrueName,string Sex,string CompanyName,string Telephone,string Fax,string Mobile,string Email,string Country,string City,string County,string Address,string Zip) 
    { // Create Instance of Connection and Command Object
    SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
    SqlCommand myCommand = new SqlCommand("YulinCommerce_AddCompany", myConnection); // Mark the Command as a SPROC
    myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC
    SqlParameter parameterUserName = new SqlParameter("@UserName", SqlDbType.NVarChar, 16);
    parameterUserName.Value = UserName;
    myCommand.Parameters.Add(parameterUserName); SqlParameter parameterPassWord = new SqlParameter("@PassWord", SqlDbType.NVarChar, 16);
    parameterPassWord.Value =PassWord;
    myCommand.Parameters.Add(parameterPassWord); SqlParameter parameterTrueName = new SqlParameter("@TrueName", SqlDbType.NVarChar, 50);
    parameterTrueName.Value = TrueName;
    myCommand.Parameters.Add(parameterTrueName); SqlParameter parameterSex = new SqlParameter("@Sex", SqlDbType.VarChar, 8);
    parameterSex.Value = Sex;
    myCommand.Parameters.Add(parameterSex); SqlParameter parameterCompanyName = new SqlParameter("@CompanyName", SqlDbType.NVarChar, 50);
    parameterCompanyName.Value = CompanyName;
    myCommand.Parameters.Add(parameterCompanyName); SqlParameter parameterTelephone = new SqlParameter("@Telephone", SqlDbType.NVarChar, 50);
    parameterTelephone.Value = Telephone;
    myCommand.Parameters.Add(parameterTelephone); SqlParameter parameterFax = new SqlParameter("@Fax", SqlDbType.NVarChar, 50);
    parameterFax.Value = Fax;
    myCommand.Parameters.Add(parameterFax); SqlParameter parameterMobile = new SqlParameter("@Mobile", SqlDbType.NVarChar, 50);
    parameterMobile.Value = Mobile;
    myCommand.Parameters.Add(parameterMobile); SqlParameter parameterEmail = new SqlParameter("@Email", SqlDbType.NVarChar, 50);
    parameterEmail.Value = Email;
    myCommand.Parameters.Add(parameterEmail); SqlParameter parameterCountry = new SqlParameter("@Country", SqlDbType.NVarChar, 10);
    parameterCountry.Value = Country;
    myCommand.Parameters.Add(parameterCountry); SqlParameter parameterCity = new SqlParameter("@City", SqlDbType.NVarChar, 10);
    parameterCity.Value = City;
    myCommand.Parameters.Add(parameterCity); SqlParameter parameterCounty = new SqlParameter("@County", SqlDbType.NVarChar, 10);
    parameterCounty.Value = County;
    myCommand.Parameters.Add(parameterCounty); SqlParameter parameterAddress = new SqlParameter("@Address", SqlDbType.NVarChar, 50);
    parameterAddress.Value = Address;
    myCommand.Parameters.Add(parameterAddress); SqlParameter parameterZip = new SqlParameter("@Zip", SqlDbType.NVarChar, 50);
    parameterZip.Value = Zip;
    myCommand.Parameters.Add(parameterZip); SqlParameter parameterID = new SqlParameter("@ID", SqlDbType.Int, 4);
    parameterID.Direction = ParameterDirection.Output;
    myCommand.Parameters.Add(parameterID);
    try 
    {
    myConnection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close(); // Calculate the Id using Output Param from SPROC
    int Id = (int)parameterID.Value; return Id.ToString();
    }
    catch 
    {
    return String.Empty;
    }
    }
    }ALTER PROCEDURE YulinCommerce_AddCompany
    (
        @UserName   nvarchar(16),
        @PassWord     nvarchar(16),
        @TrueName   nvarchar(50),
        @Sex varchar(8),
        @CompanyName nvarchar(50),
        @Telephone nvarchar(50),
        @Fax nvarchar(50),
        @Mobile nvarchar(50),
        @Email nvarchar(50),
        @Country nvarchar(10),
        @City nvarchar(10),
        @County nvarchar(10),
        @Address nvarchar(50),
        @Zip nvarchar(50),
    @ID int OUTPUT
    )
    ASINSERT INTO CMRC_Customers
    (
       UserName,
       PassWord,
       TrueName,
       Sex,
       CompanyName,
       Telephone,
       Fax,
       Mobile,
       Email,
       Country,
       City,
       County,
       Address,
       Zip
    )VALUES
    (
       @UserName,
       @PassWord,
       @TrueName,
       @Sex,
       @CompanyName,
       @Telephone,
       @Fax,
       @Mobile,
       @Email,
       @Country,
       @City,
       @County,
       @Address,
       @Zip
    )SELECT
        @ID = @@Identity
      

  5.   

    如果全部是text文本框的话,如果不填的话其值是“”而不是null吧,这样还是有值的,可以提交执行