使用三层dal中操作数据库是,若是数据库存储过程中没有你定义好的参数,会出现:“必须声明标量变量 "@”的错误,原因是通过db.AddInParameter时数据库中没有这个参数。
函数的参数可以尽量使用表中列的名字就不会报错了。
public bool Exists(int DataType_Id, string DdictNum)
strSql.Append("select count(1) from T_Ddict where DataType_Id=@DataType_Id and DdictNum=@DdictNum ");
db.AddInParameter(dbCommand, "DataType_Id", DbType.Int32, DataType_Id);
db.AddInParameter(dbCommand, "DdictNum", DbType.String, DdictNum);
也可以通过在数据库中存储过程中定义要使用的参数。
eg:
///
/// 是否存在该记录
///
{
Database db = DatabaseFactory.CreateDatabase();
StringBuilder strSql = new StringBuilder();
DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());