Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在尝试将VarChar数据类型转换为数字类型时,如何解决错误?_C#_.net - Fatal编程技术网

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