C# 在尝试将VarChar数据类型转换为数字类型时,如何解决错误?
在C# 在尝试将VarChar数据类型转换为数字类型时,如何解决错误?,c#,.net,C#,.net,在date=(int)datamanager.ExecuteScalar(CommandType.Text,Query)行上我收到一个错误,提示: 将数据类型varchar转换为数字时出错 在GETEDITDATE查询中,我试图检索varchar类型的数据。我如何解决这个问题 代码: public string returneditdate(string receiptid, string ConString) { string Query = string.Empty; int
date=(int)datamanager.ExecuteScalar(CommandType.Text,Query)行上代码>我收到一个错误,提示:
将数据类型varchar转换为数字时出错
在GETEDITDATE
查询中,我试图检索varchar
类型的数据。我如何解决这个问题
代码:
public string returneditdate(string receiptid, string ConString) {
string Query = string.Empty;
int date = 0;
string dat = string.Empty;
DataManager datamanager = null;
try {
datamanager = Supporter.GetDataManager();
datamanager.ConnectionString = ConString;
datamanager.Open();
Query = DataSourceSQLConstants.GETEDITDATE.Replace("@fldreceiptid", receiptid.ToString());
date = (int) datamanager.ExecuteScalar(CommandType.Text, Query);
dat = date.ToString();
}
}
如果是varchar数据类型,则为text。您需要使用int.Parse
方法将其转换为整数。此处要发布的相关信息是GETEDITDATE(替换前后)的文本。GETEDITDATE=“从TBLRECIT中选择fldreciptdate,其中fldreciptid=”@fldreciptid';fldreceiptid为数字数据类型,fldreceiptdate为varchar数据类型。替换后,文本将从tblrecipt中选择fldreciptdate,其中fldreciptid=1;所以称为“date”的东西是数据库中的一个VarChar,您希望它是int
?