关于界面设计和数据库的连接实现

robert981 2008-04-23 04:11:16
小弟我现在有一个数据库为:Student ,其中一个表为StuInfo,表的设计为:
Class_ID Stu_Name Mingci
1 小王 1
1 小李 2
1 小红 3
1 小刚 4
1 小明 5
1 小花 6
2 小丽 1
2 小佘 2
2 小邓 3
2 小黄 4
....................
现在我要弄增加班级的界面,但是想了好久,也没有一个好的方案,我的意思是:就是增加一个班级的信息到表StuInfo,包括这个班级的所有同学的信息,比如说增加三班信息,那我依次要加入姓名和名次了,但是加入班级之前要先连接数据库,检测新加的班级ID是不是已在数据库中了,如果在了就提示不能加了,哪位高手帮我设计一下这个窗体,顺便讲一下怎么实现数据库的插入方案!
注:用C#.Net 2003 和SQL Server 2000 做的
...全文
475 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
robert981 2008-04-25
  • 打赏
  • 举报
回复
算了,自己搞吧,把分就分给你们两个吧,谢谢你们了!!!
robert981 2008-04-24
  • 打赏
  • 举报
回复
1楼大哥的代码可以实现线路的增加的,但是那个comboBox怎么没显示东西啊,插入的数据也是显示0,而且一楼大哥的代码只能对一条线路只增加一个站点,第二次增加站点时就提示("已存在相同编号的数据,请修改", )我要实现增加这条线路的所有站点,请一楼的大哥帮我修改修改!!
robert981 2008-04-24
  • 打赏
  • 举报
回复
我整个窗体的作用就是增加一个班级的信息的作用,就用两个textBox,一个comboBox,textBox1是输入Class_ID,textBox2是输入Stu_Name,comboBox1是输入Mingci,我的意思是要想插入一个新班级,肯定要判断班级ID存不存在了,如果存在就弹出提示,如果不存在,就可以依次插入学生信息(Stu_Name和Mingci),学生(Stu_Name)在数据库里存不存在是不用判断的。你给我的代码是班级ID不存在的时候只能插入一个学生的信息,而我想插入更多学生的信息,比如三十个了,不知道我现在讲得清楚吗?
贫僧又回来了 2008-04-24
  • 打赏
  • 举报
回复
combobox你可以自己绑定的啊!我没有写上去!
(检测新加的班级ID是不是已在数据库中了,如果在了就提示不能加了)那我不明白你这话什么意思呢?
那就首先判断班级ID存不存在,然后再判断学生存不存在!
robert981 2008-04-23
  • 打赏
  • 举报
回复
4楼的这样写好像不行啊,首先 “myCommand.Parameters["@Class_ID"].Value = textBox1.Text.Trim(); ”
这里连着三项都是textBox1的内容,可能应该是笔误;然后两次重载了SqlCommand myCommand ,还有 try { myCommand.ExecuteNonQuery(); MessageBox.Show("添加成功"); 这句话就是在Class_ID有重复后,先弹出“班级ID重复",接着还是会弹出”添加成功“;还有这里"@@Mingci",前面两个都用一个@,这里用两个,而后面的["@Mingci"].Value只用一个,最后就是根本没有插入到数据库,请4楼的高手再帮我看看,谢谢了!!
robert981 2008-04-23
  • 打赏
  • 举报
回复
先去吃饭,晚上再来验证!!
tomboy1986 2008-04-23
  • 打赏
  • 举报
回复
            //链接数据库 
string myConn = "Data Source = localhost;Initial Catalog = Student ;uid = sa ; pwd = 123";//uid pwd 是SQL数据库的帐户密码
SqlConnection myConnection = new SqlConnection(myConn);

//textBox1是Class_ID ,textBox2是Stu_Name ,textBox3是Mingci
if (textBox1.Text.Trim() == "" ¦ ¦ textBox2.Text.Trim() == "" ¦ ¦ textBox3.Text.Trim() == "" )
{
MessageBox.Show("请输入完整信息");
}
else
{
myConnection.Open();
//判断班级ID是否重复
SqlCommand myCommand = new SqlCommand("select * from Student where Class_ID = '" + textBox1.Text.Trim() + "'", myConnection);
if (null != myCommand.ExecuteScalar())
{
MessageBox.Show("班级ID重复");
}
else
{
string sql = "insert into Student(Class_ID, Stu_Name, Mingci )values(@Class_ID, @Stu_Name, @Mingci)
SqlCommand myCommand = new SqlCommand(sql, myConnection);

myCommand.Parameters.Add(new SqlParameter("@Class_ID", SqlDbType.Int, 4));//你数据库Class_ID设置是什么数据类型就写什么
myCommand.Parameters["@Class_ID"].Value = textBox1.Text.Trim();

myCommand.Parameters.Add(new SqlParameter("@Stu_Name", SqlDbType.NVarChar, 50));//你数据库Stu_Name设置是什么数据类型就写什么
myCommand.Parameters["@Stu_Name"].Value = textBox1.Text.Trim();

myCommand.Parameters.Add(new SqlParameter("@@Mingci", SqlDbType.Int, 4));//你数据库@Mingci设置是什么数据类型就写什么
myCommand.Parameters["@Mingci"].Value = textBox1.Text.Trim();
}

try
{
myCommand.ExecuteNonQuery();
MessageBox.Show("添加成功");

}
catch (SqlException ex)
{
MessageBox.Show("插入数据错误!" + ex.Message.ToString());
}
myConnection.Close();


把他弄成C# CODE 容易看点
tomboy1986 2008-04-23
  • 打赏
  • 举报
回复
//链接数据库
string myConn = "Data Source = localhost;Initial Catalog = Student ;uid = sa ; pwd = 123";//uid pwd 是SQL数据库的帐户密码
SqlConnection myConnection = new SqlConnection(myConn);

//textBox1是Class_ID ,textBox2是Stu_Name ,textBox3是Mingci
if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" )
{
MessageBox.Show("请输入完整信息");
}
else
{
myConnection.Open();
//判断班级ID是否重复
SqlCommand myCommand = new SqlCommand("select * from Student where Class_ID = '" + textBox1.Text.Trim() + "'", myConnection);
if (null != myCommand.ExecuteScalar())
{
MessageBox.Show("班级ID重复");
}
else
{
string sql = "insert into Student(Class_ID, Stu_Name, Mingci )values(@Class_ID, @Stu_Name, @Mingci)
SqlCommand myCommand = new SqlCommand(sql, myConnection);

myCommand.Parameters.Add(new SqlParameter("@Class_ID", SqlDbType.Int, 4));//你数据库Class_ID设置是什么数据类型就写什么
myCommand.Parameters["@Class_ID"].Value = textBox1.Text.Trim();

myCommand.Parameters.Add(new SqlParameter("@Stu_Name", SqlDbType.NVarChar, 50));//你数据库Stu_Name设置是什么数据类型就写什么
myCommand.Parameters["@Stu_Name"].Value = textBox1.Text.Trim();

myCommand.Parameters.Add(new SqlParameter("@@Mingci", SqlDbType.Int, 4));//你数据库@Mingci设置是什么数据类型就写什么
myCommand.Parameters["@Mingci"].Value = textBox1.Text.Trim();
}

try
{
myCommand.ExecuteNonQuery();
MessageBox.Show("添加成功");

}
catch (SqlException ex)
{
MessageBox.Show("插入数据错误!" + ex.Message.ToString());
}
myConnection.Close();



kk706 2008-04-23
  • 打赏
  • 举报
回复

if( not exists(select class_id from stuinfo where class_id= 3))
begin
insert into stuinfo values(3,'小啥',4);
end
贫僧又回来了 2008-04-23
  • 打赏
  • 举报
回复
namespace WindowsApplication15
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

public class hc
{
public DataTable mm(string sql)
{
DataTable dt = new DataTable();
string sqlconn = "data source=.;database=xumei;uid=sa;pwd=;";
SqlConnection ss = new SqlConnection(sqlconn);
ss.Open();
SqlDataAdapter sd = new SqlDataAdapter(sql, ss);
sd.Fill(dt);
ss.Close();
return dt;
}
}
private void button1_Click(object sender, EventArgs e)
{
hc kof = new hc();
if (textBox1.Text == "")
{
MessageBox.Show("编号不能为空", "错误");
textBox1.Focus();
textBox2.Clear();
comboBox1.SelectedIndex = -1;
}
else
{
string sql = "insert into test values('" + textBox1.Text + "','" + textBox2.Text + "','" + comboBox1.SelectedItem + "')";
if (textBox1.Text != "")
{
string sq = "select uid from test where uid='" + Convert.ToUInt32(textBox1.Text) + "'";
hc hh = new hc();
DataTable yy = new DataTable();
yy = hh.mm(sq);
int dd = yy.Rows.Count;
if (dd > 0)
{
MessageBox.Show("已存在相同编号的数据,请修改", "提示");
textBox1.Clear();
textBox1.Focus();
}
else
{
kof.nn(sql);
MessageBox.Show("保存成功", "提示");
textBox1.Focus();
textBox1.Clear();
textBox2.Clear();
comboBox1.Items.Clear();
}
}
}
}

110,535

社区成员

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

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

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