SqlDataReader在bool中怎么判断呀
using System;using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace Login.DAL
{
public class DataOp
{
SqlConnection conn = null;
SqlCommand cmd = null;
string strConn = "server=.;database=test;uid=sa";
SqlDataReader dr = null;
#region
public bool ExecuteIUD(string sql)
{
try
{
conn = new SqlConnection(strConn);
conn.Open();
cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
return true;
}
catch (Exception ex)
{
return false;
}
}
#endregion
}
}
代码如上,我想在BOOL里判断一下数据库里有没有重复的数据,如里有就返回FALSE,没得就返回TRUE,请问用SqlDataReader 怎么写呀 --------------------编程问答-------------------- 不太清楚 关注 --------------------编程问答-------------------- 在存储过程去实现吧 --------------------编程问答-------------------- 请最好把代码贴出来,谢谢各位了 --------------------编程问答-------------------- 直接在sql语句里写好过滤掉重复数据就行了。 --------------------编程问答-------------------- 不用SQL用SqlDataReader 有办法吗
--------------------编程问答-------------------- 用ExecuteScalar --------------------编程问答--------------------
我还没有用过ExecuteScalar,请问怎么用呀,贴个代码出来最好 --------------------编程问答-------------------- 这个有点困难,学习。 --------------------编程问答-------------------- 呵呵 --------------------编程问答-------------------- SqlDataReader sdr = cmd.ExecuteReader();
if(sdr.HasRows )
{有记录}
else
{无记录} --------------------编程问答-------------------- 重复数据,这应该是数据库层面的工作。唯一约束就可以了。怎么要到软件里来处理。如果字段比较多,而且记录也很多。那判断起来会拖死机器的。
强烈建议不在软件里做这样的事。 --------------------编程问答--------------------
试过不行的 --------------------编程问答--------------------
我是想在做删除时判断一下有没有数据,比如删除的时候判断一下数据库里有没数据,如果有就TRUE,没得就FALASE,这个在数据库里怎么写嘛 --------------------编程问答-------------------- 当然如果你一定要做,那么每取到一行数据,就同时跟其他所有行数据的所以相应列的值做比较。这样的话,直接用dataset
#region
public bool ExecuteIUD(string sql)
{
try
{
conn = new SqlConnection(strConn);
conn.Open();
cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds);
for(int i = 0;i < ds.table[0].Rows.count;i++)
{
for(int j = 0;j<ds.table[0].Rows.Count;j++)
{
if(i!=j && ds.table[0].Rows[i][0].ToString() == ds.table[0].Rows[j][0].ToString() && 后面所有列都比较)
return false;
}
}
return true;
}
catch (Exception ex)
{
return false;
}
}
#endregion
--------------------编程问答-------------------- 你可以先写一个Select查询语句。看数据库中有没有记录,有记录再执行删除操作。
--------------------编程问答--------------------
if exists( select * from tb where XX)
--------------------编程问答-------------------- up --------------------编程问答--------------------
你这样做的话,where后面的判断条件怎么设定啊?根本没有可供比较的固定数据。
补充:.NET技术 , C#