求救!谢谢!

绿皮车 2003-01-22 09:59:25
各位大侠:
我想做一个判断数据库是否有重复记录函数,并返回给调用方true或false,但遇到一些问题,如下:
public bool SeekRowJudge=true;
...........................
public bool checkKey(string BillName,System.Data.DataSet myDs,string KeyName)
{
connStr=DBReader.ConnectionString;
System.Data.SqlClient.SqlConnection conn=new SqlConnection(connStr);
conn.Open();
if(connStr!=null)
{
SqlDataAdapter myDa=new SqlDataAdapter();
myDa.SelectCommand=new SqlCommand("select * from "+BillName,conn);
SqlCommandBuilder myCb=new SqlCommandBuilder(myDa);
DataSet mySeekDs=new DataSet();
myDa.Fill(mySeekDs,BillName);

System.Data.DataTable myTb;
myTb=myDs.Tables[BillName];
System.Data.DataRow myRow=myTb.Rows[0];

SeekRowJudge=true;
foreach(DataRow mySeekRow in mySeekDs.Tables[BillName].Rows)
{
if(myRow[KeyName]==mySeekRow[KeyName])
{
DoubleValueException de=new DoubleValueException("数据库中已有该条记录");
throw de;
this.SeekRowJudge=false;//系统告诉我--这里检测到无法访问的代码
}
//return false;
//break;
}

return SeekRowJudge;
}
conn.Close();


}
系统告诉我---1)C:\Inetpub\wwwroot\SELECT\BillOperator.cs(184): “WebUI.BillOperator.checkKey(string, System.Data.DataSet, string)” : 并非所有的代码路径都返回值
2)C:\Inetpub\wwwroot\SELECT\BillOperator.cs(208): 检测到无法访问的代码

请大家赐教!谢谢!
...全文
21 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssdjmcj8048 2003-01-22
  • 打赏
  • 举报
回复
return true前要加cnn.Close();
cnn.Close()前要加return false;
题外话:判断是否重复,请用Sql语句或存储过程,你这样将数据都干过来,效率太低,不知道的人还以为ADO.Net就这么烂
qimini 2003-01-22
  • 打赏
  • 举报
回复
然后将return SeekRowJudge;这句放在conn.Close();这句之后
qimini 2003-01-22
  • 打赏
  • 举报
回复
throw de;
this.SeekRowJudge=false;//系统告诉我--这里检测到无法访问的代码
变为:
this.SeekRowJudge=false;
throw de;


dreammaster 2003-01-22
  • 打赏
  • 举报
回复
将return SeekRowJudge;这句放在conn.Close();这句之后.

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧