这是我用来从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;
}
}
答案 0 :(得分:6)
假设MerchantID是bigint,请删除查询文本中@merchantID
周围的单引号。
答案 1 :(得分:2)
丢掉蜱虫。
而不是='@merchantID' order
使用=@merchantID order