日期:2014-05-18  浏览次数:20713 次

搞了一天才搞出来给大家分享下


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
namespace WindowsApplication3
{
  public partial class Form1 : Form
  {
  int i = 0;//i用来去顶其所在数据表的行号,一开始为第一行
  DataSet ds;
  SqlDataAdapter da;
  string str = "Data Source=20111229-1228\\SQLEXPRESS;Initial Catalog=test;User ID=sa;Password=longhai";
  string strsql = "select * from student";
  SqlConnection cn;

  public Form1()
  {
  InitializeComponent();
  }

  private void button8_Click(object sender, EventArgs e)
  {
  int k = 0;//用来确定要查找数据行的下标
  if (textBox5.Text.Trim() == string.Empty)
  {
  MessageBox.Show("查找内容不能为空!");
  textBox5.Focus();
  }
  else
  for (k = 0; k < ds.Tables["student"].Rows.Count; k++)
  if (ds.Tables["student"].Rows[k]["id"].ToString() == textBox5.Text) //找到textBox5.Text文本框中相匹配的数据行,其行号为k
  {
  i = k;
  show(i);
  break;
  }
  if (k == ds.Tables["student"].Rows.Count)
  MessageBox.Show("无该学生信息");
  textBox5.Text = "";

  }
  void show(int i)
  {
  try
  {
  if (ds != null)
  ds.Clear();
  else
  {
  ds = new DataSet();
  da = new SqlDataAdapter(strsql, str);
  }
  //由于DataSet为断开连接的,因此在显示时对数据集重新填入,从而显示的为更新后的值
  da.Fill(ds, "student");
  DataRow dr = ds.Tables["student"].Rows[i];
  textBox1.Text = dr["id"].ToString();
  textBox2.Text = dr["name"].ToString();
  textBox3.Text = dr["department"].ToString();
  textBox4.Text = dr["age"].ToString();
  pictureBox1.Image = Image.FromFile(dr["image"].ToString());
  }
  catch(Exception ex)
  {
  MessageBox.Show(ex.Message);
  }
  }

  private void Form1_Load(object sender, EventArgs e)
  {
  cn = new SqlConnection(str);
  show(i);  
  }

  private void button4_Click(object sender, EventArgs e)
  {
  i = 0;
  show(i);
  }

  private void button1_Click(object sender, EventArgs e)
  {
  try
  {
  SqlConnection cn = new SqlConnection(str);
  cn.Open();
  SqlCommand Sqlcmd = new SqlCommand("select count(*) from student where id='" + textBox1.Text.Trim() + "'", cn);