将数据类型varchar转换为bigint时出错。内联sql语句

时间:2010-08-31 23:31:12

标签: c# asp.net sql sql-server

这是我用来从MerchantID数据库获取LocationID的代码。我从Fill数据集部分得到一个例外。请帮帮我。错误是将数据类型varchar转换为bigint时出错。

public DataSet getLocationID(long MerchantID)
{
    //long LOCID = null;
    try
    {
        SqlParameter[] parameters = new SqlParameter[]
        {
            new SqlParameter("@merchantID",MerchantID)
        };

        string strCommandText = "Select LocationID from Merchant_Location where MerchantID ='@merchantID' order by LocationID ASC";

        Debug.WriteLine(strCommandText);

        DataSet pds = new DataSet();

        SqlHelper.FillDataset(DbConnString, System.Data.CommandType.Text, strCommandText, pds, new string[] { "LocID" }, parameters);
        return pds;
    }
    catch (Exception ex)
    {
        //LogError("Error Occurred When Retrieving LocationID: " + MerchantID.ToString(), ex);
        return null;
    }
}

2 个答案:

答案 0 :(得分:6)

假设MerchantID是bigint,请删除查询文本中@merchantID周围的单引号。

答案 1 :(得分:2)

丢掉蜱虫。

而不是='@merchantID' order使用=@merchantID order