WPF+数据库+三层
2015-12-28 21:14
429 查看
1.计算类
2,实体类
3.DBhelper类
4,数据访问层
5,业务逻辑层
UI层
Mainwidowd的代码
window1的代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Zwt { class Class1 { } interface Iation//定义计算接口 { double Calation(double a, double b); } class Add : Iation//加法 { public double Calation(double a, double b) { return a + b; } } class Sub : Iation//减法 { public double Calation(double a, double b) { return a - b; } } class Mul : Iation//乘法 { public double Calation(double a, double b) { return a * b; } } class Div : Iation//除法 { public double Calation(double a, double b) { if (b == 0) { throw new Exception("除数不能为零!"); } else { return a / b; } } } class Factionsss//实现策略模式! { private Iation clation; public Factionsss(string operation) { switch (operation) { case "+": clation = new Add(); break; case "-": clation = new Sub(); break; case "*": clation = new Mul(); break; case "/": clation = new Div(); break; } } public double cal(double a, double b) { return clation.Calation(a, b); } } }
2,实体类
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Zwt { class TIModel { string number1; string number2; string operation; public string Number1 { get { return number1; } set { number1 = value; } } public string Number2 { get { return number2; } set { number2 = value; } } public string Operation { get { return operation; } set { operation = value; } } } }
3.DBhelper类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace Zwt { class DBhelper { string constr = "Data Source=.;Initial Catalog=TIKU;Integrated Security=True"; SqlConnection conn = new SqlConnection(); SqlCommand cmd = new SqlCommand(); public void dbcon() { try { conn = new SqlConnection(constr); } finally { } } public void OPen() { conn.Open(); } public void Close() { conn.Close(); } public int execSql(string safeSql, params SqlParameter[] values)//增删 { int result; conn = new SqlConnection(constr); cmd = new SqlCommand(safeSql, conn); OPen(); if (values != null) { cmd.Parameters.AddRange(values); } try { result = cmd.ExecuteNonQuery(); } finally { Close(); } return result; } public DataSet execDataset(string safeSql, params SqlParameter[] values)//读 { conn = new SqlConnection(constr); cmd = new SqlCommand(safeSql, conn); if (values != null) { cmd.Parameters.AddRange(values); } DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); return ds; } } }
4,数据访问层
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace Zwt { class TIDAL { public int InsterTI(TIModel Ti) { string sql = "insert into TI(number1,operation,number2) values (@number1,@operation,@number2)"; SqlParameter[] para = new SqlParameter[] { new SqlParameter("@number1",Ti.Number1), new SqlParameter("@operation",Ti.Operation), new SqlParameter("@number2",Ti.Number2), }; DBhelper helper = new DBhelper(); return helper.execSql(sql, para); } public DataSet Read() { string sql = "select number1,operation,number2 from TI"; DBhelper helper = new DBhelper(); return helper.execDataset(sql); } public int DeleteTI() { string sql = "delete from TI "; SqlParameter[] para = new SqlParameter[] { }; DBhelper helper = new DBhelper(); return helper.execSql(sql, para); } } }
5,业务逻辑层
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace Zwt { class TIBLL { TIDAL TI1 = new TIDAL(); public int InsertTi(TIModel Ti1) { return TI1.InsterTI(Ti1); } public int Delect() { return TI1.DeleteTI(); } public DataSet Read() { return TI1.Read(); } } }
UI层
Mainwidowd的代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace Zwt { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } TIBLL tib = new TIBLL(); private void button1_Click(object sender, RoutedEventArgs e) { TIModel Tim = new TIModel(); Tim.Number1 =textBox1.Text; Tim.Number2 = textBox2.Text; Tim.Operation = comboBox1.Text; int a = tib.InsertTi(Tim); if (a > 0) { MessageBox.Show("保存成功!"); } else { MessageBox.Show("保存失败!"); } textBox1.Clear(); textBox2.Clear(); } private void button2_Click(object sender, RoutedEventArgs e) { int b = tib.Delect(); if (b > 0) { MessageBox.Show("删除成功!"); } else { MessageBox.Show("删除失败!"); } } private void button3_Click(object sender, RoutedEventArgs e) { Window1 win = new Window1(); win.ShowDialog(); } private void Window_Loaded(object sender, RoutedEventArgs e) { } } }
window1的代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Data.SqlClient; using System.Data; namespace Zwt { /// <summary> /// Window1.xaml 的交互逻辑 /// </summary> public partial class Window1 : Window { public Window1() { InitializeComponent(); } TIBLL TIll = new TIBLL(); int i = 0; private void Window_Loaded(object sender, RoutedEventArgs e) { DataSet ds= TIll.Read(); DataTable dt = ds.Tables[0]; textBox1.Text = dt.Rows[0][0].ToString().Trim(); textBox2.Text = dt.Rows[0][2].ToString().Trim(); label1.Content = dt.Rows[0][1].ToString().Trim(); } private void textBox3_KeyDown(object sender, KeyEventArgs e) { double a=Convert.ToDouble(textBox1.Text); double b=Convert.ToDouble(textBox2.Text); Factionsss fas = new Factionsss(label1.Content.ToString()); double aswer = fas.cal(a, b); if (aswer.ToString() == textBox3.Text) { MessageBox.Show("回答正确!"); } else { MessageBox.Show("回答错误!"); } textBox3.Clear(); read(); } private void read() { DataSet ds = TIll.Read(); DataTable dt = ds.Tables[0]; textBox1.Text = dt.Rows[i][0].ToString().Trim(); textBox2.Text = dt.Rows[i][2].ToString().Trim(); label1.Content = dt.Rows[i][1].ToString().Trim(); } } }
相关文章推荐
- SQL优化及注意事项
- tomcat session----memcache
- Oracle EBS 交叉币种(2)-应收交叉币种
- 关系型数据库管理系统简介
- [MySQL]Ubuntu下解决中文乱码问题
- iBATIS sqlMapConfig配置详解
- Linux下php安装memcache扩展
- 2015年数据库漏洞威胁报告
- SqlServer中获取数据库中每个表的行数
- jdbc:oracle:thin:@192.168.3.98:1521:orcl(详解)
- 关系型数据库管理系统简介
- 数据库三大范式
- 关于oracle 10g调度程序PLSQL_BLOCK方式无法使用truncate的问题
- [IOS]SQLite3常用语句
- Lind.DDD.Repositories.Redis层介绍
- Oracle EBS 交叉币种(1)-基础设置
- 数据库入门学习总结1
- mysql性能测试工具之tpcc-mysql 及 mysql 用户管理和权限设置
- mybatis学习日记(一)1-预编译PreparedStatement以及jdbc缺点
- 数据库之计算器