首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

新手 C# 遇到点小疑点 求各位大大帮忙

2012-09-03 
新手 求助求助C# 遇到点小问题 求各位大大帮忙今天编写了C#的添加学生信息的窗体, 运行时 加上 try-catch

新手 求助求助 C# 遇到点小问题 求各位大大帮忙
今天编写了C#的添加学生信息的窗体, 运行时 加上 try-catch 不会跳出,但不会执行添加学生信息的代码 不加 try - catch 则会在 int count = (int)comm.ExecuteNonQuery(); 这里报错,真心求大大们帮忙,小生在此谢过。


代码如下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication1
{
  public partial class HackStuInfo : Form
  {
  public HackStuInfo()
  {
  InitializeComponent();
  }

  DBHelper db = new DBHelper();

  private void gb_2_Enter(object sender, EventArgs e)
  {

  }

  private void gb2_cb1_SelectedIndexChanged(object sender, EventArgs e)
  {

  }

  private void gb_1_Enter(object sender, EventArgs e)
  {

  }

  private void HackStuInfo_Load(object sender, EventArgs e)
  {
  BindGrade();
   
   

  }

  //填充年级数据

  public bool BindGrade()
  {
  try
  {

  //年级选择框默认
  gb2_cb1.SelectedIndex = 0;

  //向年级选择框填充数据
  string sql = "select COUNT(*) as 人数 ,StuGrade from Student Group by StuGrade";

  SqlCommand comm = new SqlCommand(sql, db.Connection);

  db.OpenConnection();
  SqlDataReader reader = comm.ExecuteReader();
  while (reader.Read())
  {
  string gradeid = reader["StuGrade"].ToString();
  this.gb2_cb1.Items.Add(gradeid);
  }
  reader.Close();
  return true;

  }
  catch (Exception)
  {

  MessageBox.Show("系统发生错误");
  return false;
  }
  }

  //验证编辑输入
  public bool CheckInput()
  {
  try
  {
  //获得输入的值
  #region
  string Pwd = gb_1_tb2.Text.Trim();
  string Pwd2 = gb_1_tb3.Text.Trim();
  Name = gb2_tb1.Text.Trim();
  string Sex;
  string Grade = gb2_cb1.Text.Trim();
  string Phone = gb2_tb2.Text.Trim();
  string Address = gb2_tb3.Text.Trim();
  string Email = gb2_tb4.Text.Trim();

  //判断返回的男女值
  if (this.gb_2_rb1_male.Checked)
  {
  Sex = "男";
  }
  else
  {
  Sex = "女";
  }

  #endregion


  //判断输入
  #region
  if (Pwd.Equals(string.Empty) && Name.Equals(string.Empty) &&
  Grade.Equals(string.Empty) && Address.Equals(string.Empty))
  {
  MessageBox.Show("您输入的其中一项为空,请输入!", "消息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);


  return false;
  }
  else if (Pwd != Pwd2)
  {
  MessageBox.Show("重复输入验证的密码有误,请重新输入!", "消息提示");
  return false;
  }
  #endregion
   
   
  //执行添加学生操作
  #region
  else
  {

  //声明sQL语句
  string pwd = string.Format(" insert into Student (StuPwd,StuName,StuSex,StuGrade,StuPhone,StuAddress,StuEmail) " +
  " Values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}' ", Pwd, Name, Sex, Grade, Phone, Address, Email);

  //执行新建学生信息

  db.OpenConnection();

  SqlCommand comm = new SqlCommand(pwd, db.Connection);
  int count = (int)comm.ExecuteNonQuery();

  if (count > 0)
  {
  //填充学号
  #region
  StringBuilder sb = new StringBuilder();
  sb.AppendFormat("select StuId from Student where StuName = '" + this.Name + "' ");
  SqlCommand com = new SqlCommand(sb.ToString(), db.Connection);
  db.OpenConnection();

  SqlDataReader read = com.ExecuteReader();
  if (read.Read())
  {
  string stuid = read["StuId"].ToString();
  this.gb_1_tb1.Text = stuid;
  MessageBox.Show("创建新学员信息成功!", "消息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

  }
  #endregion

  }
   
  return true;

  }
  #endregion
  }
  catch (Exception )
  {
  MessageBox.Show("系统发生错误!请稍后再试。");
  return false;
  }
  finally
  {
  db.CloseConnection();
  }
  }

  private void hsi_bt_save_Click(object sender, EventArgs e)
  {
  this.CheckInput();
   
   

   
  }

  }
}


[解决办法]
string pwd = string.Format(" insert into Student (StuPwd,StuName,StuSex,StuGrade,StuPhone,StuAddress,StuEmail) " +
" Values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}' ", Pwd, Name, Sex, Grade, Phone, Address, Email);
有没有发现这句话values少个)

热点排行