| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1287 人关注过本帖
标题:重复插入数据的问题(SOS)
只看楼主 加入收藏
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
 问题点数:0 回复次数:7 
重复插入数据的问题(SOS)

各位大哥大姐们帮个忙啊,我遇到重复插入数据的问题,帮忙解决一下.
代码如下
public partial class images_St_assigncourse : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{//连接到数据库
SqlConnection con0 = DB.CreateConn();
//con0.Open();

if (!IsPostBack)
{
//绑定教师下拉列表
con0.Open();
string st_sql = "select * from Teacher";
SqlCommand st_comm0 = new SqlCommand(st_sql, con0);
SqlDataReader st_dr0 = st_comm0.ExecuteReader();
while (st_dr0.Read())
{
Ddl_teacher.Items.Add(new ListItem(st_dr0["Teacher_name"].ToString(), st_dr0["Teacher_id"].ToString()));
}
con0.Close();
//课程名称下拉列表框绑定
con0.Open();
string st_sql1 = "select * from Course";
//string st_sql1 = "select * from Course where Course.Course_kind='"+Ddl_coursekind.SelectedValue+"'";
SqlCommand st_comm1 = new SqlCommand(st_sql1, con0);
SqlDataReader st_dr1 = st_comm1.ExecuteReader();
while (st_dr1.Read())
{
Ddl_course.Items.Add(new ListItem(st_dr1["Course_name"].ToString(), st_dr1["Course_id"].ToString()));
}
con0.Close();
//班级名称下拉列表框绑定
con0.Open();
string st_sql2 = "select * from Class";
SqlCommand st_comm2 = new SqlCommand(st_sql2, con0);
SqlDataReader st_dr2 = st_comm2.ExecuteReader();
Ddl_class.Items.Add(new ListItem("", ""));
while (st_dr2.Read())
{
Ddl_class.Items.Add(new ListItem(st_dr2["Class_name"].ToString(), st_dr2["Class_id"].ToString()));
}
con0.Close();
}
}
//检查在表中是否存在与要插入的数据相同的
//public bool CheckData()
//{
// SqlConnection con = DB.CreateConn();//用类DB连接数据库
// con.Open();//打开数据库

// string st_sql = "select * from Teacher_course where Teacher_course.Teacher_id='" + Ddl_teacher.SelectedValue + "' and Teacher_course.Course_id='"+Ddl_course.SelectedValue+"'";
// SqlCommand st_cmd = new SqlCommand(st_sql,con);
// st_cmd.Parameters.Add("@Teach_id",SqlDbType.VarChar,50);
// st_cmd.Parameters["Teach_id"].Value = Ddl_teacher.SelectedValue;
// st_cmd.Parameters.Add("@Course_id", SqlDbType.VarChar, 50);
// st_cmd.Parameters["Course_id"].Value = Ddl_course.SelectedValue;
// SqlDataReader sdr = st_cmd.ExecuteReader();
// if(sdr.Read())
// return true;
//}
protected void Btn_assign_Click(object sender, EventArgs e)
{
SqlConnection conn = DB.CreateConn();
conn.Open();

//if(CheckData())
//{
//插入语句
string st_sqlstr = "insert into Teacher_course(Teacher_id,Class_id,Course_year,Course_id) values(@Teach_id,@Clas_id,@Cours_year,@Cours_id)";
//删除语句
st_comm.ExecuteNonQuery();
st_comm = new SqlCommand(st_sqlstr, conn);
st_comm.Parameters.Add(new SqlParameter("@Teach_id", SqlDbType.VarChar, 50));
st_comm.Parameters["@Teach_id"].Value = Ddl_teacher.SelectedItem.Value;
st_comm.Parameters.Add(new SqlParameter("@Cours_id", SqlDbType.VarChar, 50));
st_comm.Parameters["@Cours_id"].Value = Ddl_course.SelectedItem.Value;
st_comm.Parameters.Add(new SqlParameter("@Clas_id", SqlDbType.VarChar, 50));
st_comm.Parameters["@Clas_id"].Value = Ddl_class.SelectedItem.Value;
st_comm.Parameters.Add(new SqlParameter("@Cours_year", SqlDbType.VarChar, 50));
st_comm.Parameters["@Cours_year"].Value = Tbx_year.Text;
try
{
st_comm.ExecuteNonQuery();
Lbl_note.Text = "添加成功,请返回";
Lbl_note.Style["color"]="green";

}
catch (SqlException)
//else
{
Lbl_note.Text = "添加失败";
Lbl_note.Style["color"] = "red";
}
conn.Close();
}
}
我想用一个CheckData函数来判断在表中是否存在与将要插入的数据相同的数据,怎么写啊?

搜索更多相关主题的帖子: SOS 数据 
2007-06-11 17:15
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
得分:0 
回复:(stonefang)重复插入数据的问题(SOS)
我插入数据的表的结构,其中Teachercourse_id是自增型主键.
图片附件: 游客没有浏览图片的权限,请 登录注册


我就是我! 从那跌到从那爬起! E-mail:fangguang2008@
2007-06-11 17:19
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 
private bool CheckData(string strTeachercourse_id)
{
string strSQL = "SELECT COUNT(*) FROM TEACHER_COURSE WHERE TEACHERCOURSE_ID = " + strTeachercourse_id;
//讀取DataSet 或者DataReader
//判斷DataSet的數據Count是否大於0,如果大於0就說明有重復數據
//則返回false
//否則反回true
}

日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-06-11 17:37
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
得分:0 

public bool CheckData()
{
SqlConnection con = DB.CreateConn();//用类DB连接数据库
con.Open();//打开数据库

string st_sql = "select count(*) from Teacher_course where Teacher_course.Teacher_id='"
+ Ddl_teacher.SelectedValue + "' and Teacher_course.Course_id='"
+ Ddl_course.SelectedValue + "' adn Teacher_course.Class_id='"+Ddl_class.SelectedValue+"'";
SqlCommand st_cmd = new SqlCommand(st_sql, con);
SqlDataReader sdr = st_cmd.ExecuteReader();
if (count > 0)
{
return false;
}
else
{
return true;
}
}
我这样写count怎么定义?


我就是我! 从那跌到从那爬起! E-mail:fangguang2008@
2007-06-11 18:03
从小到大
Rank: 1
等 级:新手上路
威 望:2
帖 子:200
专家分:0
注 册:2006-6-24
收藏
得分:0 
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(st_cmd , con);
DataSet ds=new DataSet();
adapter.Fill(ds);
int count=ds.Tables[0].Rows.Count;




2007-06-11 20:50
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
得分:0 
5楼的老兄,请你帮我写一下完整的嘛,我实在是不会了.谢谢

我就是我! 从那跌到从那爬起! E-mail:fangguang2008@
2007-06-14 00:18
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 

public bool CheckData()
{
SqlConnection con = DB.CreateConn();//用类DB连接数据库
con.Open();//打开数据库

string st_sql = "select count(*) from Teacher_course where Teacher_course.Teacher_id='"
+ Ddl_teacher.SelectedValue + "' and Teacher_course.Course_id='"
+ Ddl_course.SelectedValue + "' adn Teacher_course.Class_id='"+Ddl_class.SelectedValue+"'";
SqlCommand st_cmd = new SqlCommand(st_sql, con);
SqlDataReader sdr = st_cmd.ExecuteReader();
int count = sdr.//(你在這裡將這個DataReader對象找一下屬性,應該有他的數據的多少,像DataSet有屬性:
//DS.Tables[0].Count)
if (count > 0)
{
return false;
}
else
{
return true;
}
}


日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-06-14 12:01
stonefang
Rank: 1
等 级:新手上路
帖 子:163
专家分:0
注 册:2007-3-20
收藏
得分:0 
//检查在表中是否存在与要插入的数据相同的
public bool CheckData()
{
SqlConnection con = DB.CreateConn();//用类DB连接数据库
con.Open();//打开数据库

string st_sql = "select count(*) from Teacher_course where Teacher_course.Teacher_id='"
+ Ddl_teacher.SelectedValue + "' and Teacher_course.Course_id='"
+ Ddl_course.SelectedValue + "' and Teacher_course.Class_id='"+Ddl_class.SelectedValue+"'";
SqlCommand st_cmd = new SqlCommand(st_sql, con);
SqlDataReader sdr = st_cmd.ExecuteReader();
int count = sdr.FieldCount;

if (count >0)
{
return false;
}
else
{
return true;
}
}
我用红色的那个FieldCount怎么不对?

我就是我! 从那跌到从那爬起! E-mail:fangguang2008@
2007-06-17 11:25
快速回复:重复插入数据的问题(SOS)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013032 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved