永发信息网

Asp.net的三层调用数据库查询的问题?C#

答案:2  悬赏:60  手机版
解决时间 2021-05-11 16:15
  • 提问者网友:泪痣哥哥
  • 2021-05-11 07:16

Model/R_Class.cs 参数类

private int Id;

public int Id
{
get { return _Id; }
set { _Id = value; }
}

------------------------

DBunititly/DBR_Class.cs 操作类

#region 是否存在
public string TheSelect(R_Class R)
{
string result = null;
try
{
SqlParameter[] cmdParas ={ new SqlParameter("@Id", R.Id) };
StringBuilder builder = new StringBuilder();
builder.Append("select * from tb_R where Id=@Id");
int val = DBBase.ExecuteNonQuery(DBBase.strCon, CommandType.Text, builder.ToString(), cmdParas);
result = val == 1 ? "y" : "n";
}
catch (Exception ex)
{
result = ex.Message;
}
return result;
}
#endregion

------------------------

Index.aspx.cs


private R_Class R = new R_Class();
private DBR_Class DBR = new DBR_Class();

R.Id = 1;
1
if (DBR.TheSelect(R) == "n")
{
MessageBox.Show("N");
}
else
{
MessageBox.Show("Y");
}

#########

DBBase.ExecuteNonQuery是自定义一个函数,这个函数没有问题,不要考虑这个问题!

我问的是数据库中ID有“1”的,我也查找“1”

为什么总是返回的是“N“呢?

这个程序应该如何修改?

注意:我什么都引用了,这个也不要考虑!

最佳答案
  • 五星知识达人网友:怙棘
  • 2021-05-11 08:46

ExecuteNonQuery是咋定义的?什么时候返回1?


----------------------------


result = val == 1 ? "y" : "n";
如果返回值不是1的话会一直返回n的。你跟踪一下看看。

全部回答
  • 1楼网友:玩世
  • 2021-05-11 09:58
ExecuteNonQuery返回的什么。一般这个名字的方法是用来返回受影响的行数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯