I need you help!!

NewPureLand 2005-02-27 03:17:01
我搞了一个添加数据到数据库里面的方法,这个方法最后返回一个数据。
下面是调用方法
string Id=objCompanys.AddCompany(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);

问一个问题,这个方法中的参数那么多,是不是对应的每个参数都要有相应的值呀?
比如说,最后两个参数txAddr.Text.Trim(),txZip.Text是表单中要填写的值,我没有填写就提交了,那么这个函数还可以正常的执行吗?
如果不能执行,又有什么解决方案呢?
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
VcGreenhand 2005-02-27
  • 打赏
  • 举报
回复
如果全部是text文本框的话,如果不填的话其值是“”而不是null吧,这样还是有值的,可以提交执行
NewPureLand 2005-02-27
  • 打赏
  • 举报
回复
下面贴出方法和存储过程
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
)
AS

INSERT 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
NewPureLand 2005-02-27
  • 打赏
  • 举报
回复
我用的是SQL数据库
并且在些这个方法的时候用的是存储过程
liaobaby2000 2005-02-27
  • 打赏
  • 举报
回复
如果还不行,检查一下你的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的顺序与数据库里面的字段是不是对应的,我经常犯这种低级错误
liaobaby2000 2005-02-27
  • 打赏
  • 举报
回复
access 97里面默认的是不允许空字符串,access2000里面默认允许空字符串
liaobaby2000 2005-02-27
  • 打赏
  • 举报
回复
如果不能执行,检查数据库看看那两个字段允许不允许空字符串,如果不允许,设置为允许就可以了
yizhixiaozhu 2005-02-27
  • 打赏
  • 举报
回复
如果你的TextBox里面没有输入任何值的话 那他的值就是空的
可以提交 执行

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧