1:数据库连接及增、删、改、查方法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
namespace Windows10_10
{
class DBCon
{
public string strCon = @"Data Source=.;Initial Catalog=Solution; Integrated Security=true";
public SqlConnection sqlCon = new SqlConnection();
public SqlDataAdapter sda = new SqlDataAdapter();
public DataSet ds = new DataSet();
public DataTable dt = new DataTable();
public SqlDataReader sdr;
public void dbcon()
{
try
{
sqlCon = new SqlConnection(strCon);
}
catch (Exception e)
{
MessageBox.Show("数据连接不成功:" + e.ToString());
}
}
public void dbFill(string selstr)
{
dt.Clear();
sda = new SqlDataAdapter(selstr, strCon);
sda.Fill(ds, "exam");
dt = ds.Tables["exam"];
}
public void dbSelect(string showInfo)
{
sqlCon.Open();
SqlCommand sqlcmd = new SqlCommand(showInfo, sqlCon);
sdr = sqlcmd.ExecuteReader();
}
public void dbInsert(string insertInfo)
{
sqlCon.Open();
SqlCommand sqlcmd = new SqlCommand(insertInfo, sqlCon);
try
{
sqlcmd.ExecuteNonQuery();
MessageBox.Show("增加成功!");
}
catch (Exception e)
{
MessageBox.Show("数据插入失败" + e.ToString());
}
sqlCon.Close();
}
public void dbGridViewUpd()
{
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
DialogResult result;
result = MessageBox.Show("确定保存修改过的数据吗?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
dt = ds.Tables["exam"];
sda.Update(dt);
dt.AcceptChanges();
}
}
public void dbUpdate(string updStr)
{
sqlCon.Open();
SqlCommand sqlcmd = new SqlCommand(updStr, sqlCon);
try
{
sqlcmd.ExecuteNonQuery();
MessageBox.Show("数据修改成功!");
}
catch (Exception e)
{
MessageBox.Show("数据修改失败!" + e.ToString());
}
sqlCon.Close();
}
public void dbDelete(string delStr)
{
sqlCon.Open();
SqlCommand sqlcmd = new SqlCommand(delStr, sqlCon);
try
{
sqlcmd.ExecuteNonQuery();
}
catch (Exception e)
{
MessageBox.Show("数据删除失败!" + e.ToString());
}
sqlCon.Close();
}
}
}
2,计算方法:
class xyy
{
private int x1;
private int x2;
private int result;
private char v;
public xyy(int x1, int x2, char v)
{
this.x1 = x1;
this.x2 = x2;
this.v = v;
}
public int answer
{
get { return result; }
}
public int coom()
{
if (v == '+')
{
result = x1 + x2;
}
else if (v == '-')
{
result = x1 - x2;
}
else if (v == '*')
{
result = x1 * x2;
}
else if (v == '/')
{
result = x1 / x2;
}
return result;
}
}
3 ,Form1 及 增、删、改、查方法及计算方法调用:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static int Count = 0;
public static int t = 0;
public static int right = 0;
string selStr = @"select Num,n1,ys,n2,sum from exam";
DBCon db = new DBCon();
private void Form1_Load(object sender, EventArgs e)
{
db.dbcon();
db.dbFill(selStr);
comboBox1.ValueMember = "Num";
comboBox1.DataSource = db.dt.DefaultView;
}
private void button2_Click(object sender, EventArgs e)
{
db.dbcon();
db.dbFill(selStr);
dataGridView1.DataSource = db.dt;
}
private void button3_Click(object sender, EventArgs e)
{
db.dbcon();
string insertInfo = "insert into exam(Num,n1,ys,n2) values('" + comboBox1.Text +
"','" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')";
db.dbInsert(insertInfo);
db.dbFill(selStr);
dataGridView1.DataSource = db.dt;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string selInfo = "select n1,ys,n2,sum from exam where Num='" + comboBox1.Text.ToString().Trim() + "'";
db.dbcon();
db.dbSelect(selInfo);
if (db.sdr.Read())
{
textBox1.Text = db.sdr["n1"].ToString();
textBox2.Text = db.sdr["ys"].ToString();
textBox3.Text = db.sdr["n2"].ToString();
textBox4.Text = db.sdr["sum"].ToString();
}
}
private void button4_Click(object sender, EventArgs e)
{
db.dbcon();
string strUpd = "update exam set n1='" + textBox1.Text.Trim() + "',ys='" + textBox2.Text.Trim() + "',n2='" +
textBox3.Text.Trim() + "'where Num='" + comboBox1.Text.Trim() + "'";
db.dbUpdate(strUpd);
db.dbFill(selStr);
dataGridView1.DataSource = db.dt;
}
private void button5_Click(object sender, EventArgs e)
{
db.dbcon();
string strUpd = "delete from exam where Num='" + comboBox1.Text.Trim() + "'";
db.dbDelete(strUpd);
MessageBox.Show("数据删除成功!");
db.dbFill(selStr);
dataGridView1.DataSource = db.dt;
}
private void button6_Click(object sender, EventArgs e)
{
db.dbcon();
db.dbGridViewUpd();
db.dbFill(selStr);
dataGridView1.DataSource = db.dt;
}
private void button7_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void button1_Click(object sender, EventArgs e)
{
textBox4.Enabled = false;
timer1.Enabled =false;
Form2 frm = new Form2();
frm.ShowDialog();
}
private void button9_Click(object sender, EventArgs e)
{
label7.Text = t.ToString();
timer1.Enabled = true;
timer1.Interval = 1000;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
t = t + 1;
label7.Text = t.ToString();
}
private void textBox4_KeyDown(object sender, KeyEventArgs e)
{
计算方法调用:
int a = int.Parse(textBox1.Text.Trim());
int b=int.Parse(textBox3.Text.Trim());
Char c=Convert.ToChar(textBox2.Text.Trim());
xyy con = new xyy(a,b,c);
con.coom();
if (e.KeyCode == Keys.Enter)
{
if (con.answer == int.Parse(textBox4.Text.Trim()))
{
MessageBox.Show("回答正确!");
right++;
Count++;
db.dbcon();
string strUpd = "update exam set n1='" + textBox1.Text.Trim() + "',ys='" + textBox2.Text.Trim() + "',n2='" +
textBox3.Text.Trim() + "',sum='" + textBox4.Text.Trim() + "'where Num='" + comboBox1.Text.Trim() + "'";
db.dbUpdate(strUpd);
db.dbFill(selStr);
dataGridView1.DataSource = db.dt;
}
else
{
MessageBox.Show("答案错误,小朋请认真答题吆");
Count++;
}
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
}
private void button8_Click(object sender, EventArgs e)
{
}
}
4 ,Form2
private void Form2_Load(object sender, EventArgs e)
{
textBox1.Text = Form1.Count.ToString();
textBox2.Text = Form1.right.ToString();
textBox3.Text = ((Form1.right / (double)(Form1.Count)) * 100).ToString() + "%";
textBox4.Text = ((Form1.Count / (double)(Form1.t)) * 100).ToString() + "%";
}
