Wpf+数据库代码封装+策略模式封装

时间:2024-01-18 16:21:56

运行界面:

Wpf+数据库代码封装+策略模式封装

数据库保存的题:

Wpf+数据库代码封装+策略模式封装

数据库封装代码:

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;
using System.Data.SqlClient;
using System.Data;
namespace WpfApplication1
{
class shujuku
{
public string str = @"Data Source=.;Initial Catalog=四则运算;Integrated Security=True;Pooling=False";
public SqlConnection sqlcon = new SqlConnection();
public SqlDataAdapter sda = new SqlDataAdapter();
public DataSet ds = new DataSet();
public DataTable dt = new DataTable();
public string x1;
public string x2;
public string x3;
public string x4;
public string x5;
public string x6;
public string x7;
public string x8;
public void dbcon()
{
try
{
sqlcon = new SqlConnection(str); }
catch (Exception ex)
{
MessageBox.Show("数据链接不成功"+ex.Message);
}
} public void ChuTi()
{
dbcon();
sqlcon.Open();
string sqltr = "insert into Table2(第一个数,符号,第二个数) values('" + x1 + "','" + x2 + "','" + x3 + "')";
SqlCommand comm = new SqlCommand(sqltr, sqlcon);
try
{
comm.ExecuteNonQuery();
MessageBox.Show("出题成功!"); }
catch (Exception ex)
{
MessageBox.Show("出题失败" + ex.ToString());
}
sqlcon.Close();
}
public void ShanChu()
{
dbcon();
sqlcon.Open();
string sqltr = "delete from Table2";
SqlCommand comm = new SqlCommand(sqltr, sqlcon);
try
{
comm.ExecuteNonQuery();
MessageBox.Show("删除成功");
}
catch (Exception ex)
{
MessageBox.Show("删除失败" + ex.ToString());
} SqlDataReader reder = comm.ExecuteReader();
sqlcon.Close();
}
public void JiSuan()
{ int i = int.Parse(x4);
dbcon();
sqlcon.Open();
string sqltr = "select * from Table2 ";
SqlCommand comm = new SqlCommand(sqltr, sqlcon);
SqlDataAdapter da = new SqlDataAdapter(comm);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable dt = ds.Tables[0];
x5 = dt.Rows[i][0].ToString();
x6 = dt.Rows[i][1].ToString();
x7 = dt.Rows[i][2].ToString();
sqlcon.Close();
}
public void DaoRu()
{
dbcon();
sqlcon.Open();
string sqltr = "select * from Table2 ";
SqlCommand comm = new SqlCommand(sqltr, sqlcon);
SqlDataAdapter da = new SqlDataAdapter(comm);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable dt = ds.Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i][0].ToString();
dt.Rows[i][1].ToString();
dt.Rows[i][2].ToString();
x8 += dt.Rows[i][0].ToString().Trim() + dt.Rows[i][1].ToString().Trim() + dt.Rows[i][2].ToString().Trim() + "\n";
}
sqlcon.Close();
} }
}

wpf代码:

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;
using System.Data.SqlClient;
using System.Data; namespace WpfApplication1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public static int Count = 0;
public static int zhengque = 0;
public static int lefttime;
public static int sum;
shujuku sj = new shujuku();
private void button1_Click(object sender, RoutedEventArgs e)
{ sj.x1 = left.Text;
sj.x2 = fuhao.Text;
sj.x3 = right.Text;
sj.ChuTi();
string f = fuhao.Text;
switch (f)
{
case "+":
sum = int.Parse(left.Text) + int.Parse(right.Text);
daan1.Text += sum + "\r\n"; break;
case "-":
sum = int.Parse(left.Text) - int.Parse(right.Text); daan1.Text += sum + "\r\n";
break;
case "*":
sum = int.Parse(left.Text) * int.Parse(right.Text); daan1.Text += sum + "\r\n";
break;
case "/":
sum = int.Parse(left.Text) / int.Parse(right.Text); daan1.Text += sum + "\r\n";
break;
default:
break; }
left.Clear();
fuhao.Clear();
right.Clear();
} private void button2_Click(object sender, RoutedEventArgs e)
{
sj.ShanChu(); } private void button4_Click(object sender, RoutedEventArgs e)
{
sj.x4=textBox5.Text;
textBox1.Text= sj.x5;
textBox2.Text= sj.x6;
textBox3.Text=sj.x7 ;
sj.JiSuan(); } private void button5_Click(object sender, RoutedEventArgs e)
{
if (daan1.Text == "显示答案")
{
daan1.Visibility = Visibility.Visible;
daan1.Text = "隐藏答案";
}
else if (daan1.Text == "隐藏答案")
{
daan1.Visibility = Visibility.Hidden;
daan1.Text = "显示答案"; }
} private void button3_Click(object sender, RoutedEventArgs e)
{
textBox6.Text = sj.x8;
sj.DaoRu();
} private void textBox4_KeyDown(object sender, KeyEventArgs e)
{
tiaoyong ty = new tiaoyong();
string fuha = textBox2.Text;
ty.c = int.Parse(textBox1.Text);
ty.n = int.Parse(textBox3.Text);
ty.yunsuan(fuha);
if (e.Key == Key.Enter)
{
if (textBox4.Text == ty.result.ToString())
{
MessageBox.Show("回答正确");
zhengque++;
}
else
{
MessageBox.Show("回答错误");
}
textBox4.Clear(); } } private void Window_Loaded(object sender, RoutedEventArgs e)
{
shujuku sj = new shujuku();
} }
}

策略封装代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace WpfApplication1
{ public interface ITaxStragety
{
int Calcul(int a,int b); }
class Class2 : ITaxStragety
{ public int Calcul(int a, int b)
{
return a + b;
} }
class sub : ITaxStragety
{
public int Calcul(int a, int b)
{
return a - b;
} }
class sheng : ITaxStragety
{
public int Calcul(int a, int b)
{
return a *b; }
}
class chu : ITaxStragety
{
public int Calcul(int a, int b )
{
return a / b; }
}
class tiaoyong
{
public int result = 0;
public int c=0;
public int n=0;
public void yunsuan(string m)
{
if (m == "+")
{
Class2 jia = new Class2();
result = jia.Calcul(c, n);
}
if (m == "-")
{
sub su = new sub();
result = su.Calcul(c, n);
}
if (m == "*")
{
sheng sh = new sheng();
result = sh.Calcul(c, n); }
if (m == "/")
{ chu ch = new chu();
result = ch.Calcul(c, n); } }
} }