这是我用来从带有MerchantID的数据库中获取LocationID的代码。我从填充数据集部分得到一个例外。请帮帮我。错误是将数据类型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;
    }
}

最佳答案

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

10-06 13:46