1. 设计一个Windows登陆窗体应用程序,能够实现根据现有表中数据模拟登陆,并设置相关属性,具体界面如下。
可能使用到的类:
(1)SqlConnection
(2)SqlCommand
(3)SqlDataReader
(4)MessageBox
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Data.SqlClient;10 11 namespace Myform12 {13 public partial class Form1 : Form14 {15 public Form1()16 {17 InitializeComponent();18 }19 20 21 private void button1_Click(object sender, EventArgs e)22 {23 24 string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\C#09J20172202899何海钊\Myform\Myform\Database1.mdf;Integrated Security=True;User Instance=True";25 SqlConnection conn = null;26 SqlCommand cmd = null;27 SqlDataReader reader = null;28 try29 {30 conn = new SqlConnection(connString);31 conn.Open();32 cmd = conn.CreateCommand();33 cmd.CommandText = "Select username , password From Table1 where username = ‘com201701‘ and password = ‘com201701‘";34 cmd.Parameters.AddWithValue("@username", textBox1.Text.Trim());35 cmd.Parameters.AddWithValue("@password", textBox2.Text.Trim());36 reader = cmd.ExecuteReader();37 if (reader.Read())38 {39 MessageBox.Show("登录成功", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information);40 }41 else42 {43 MessageBox.Show("用户名密码不正确", "NO", MessageBoxButtons.OK, MessageBoxIcon.Error);44 }45 46 }47 catch (Exception ex)48 {49 MessageBox.Show(ex.Message, "Open Error", MessageBoxButtons.OK);50 }51 finally 52 {53 if (reader != null) reader.Close();54 if (conn.State == ConnectionState.Open) conn.Close();55 }56 }57 }58 }
Code1
2、设计一个Windows登陆窗体应用程序,根据下图设置相关属性,该程序能够读写现有表中数据,具体界面如下。
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Data.SqlClient;10 11 namespace Myform212 {13 public partial class Form1 : Form14 {15 public Form1()16 {17 InitializeComponent();18 }19 20 private SqlConnection conn = null;21 private SqlCommand cmd = null;22 private SqlDataReader reader = null;23 private SqlDataAdapter adapter = null;24 private DataSet List = null;25 26 private string connString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\C#09J20172202899何海钊\db\Database1.mdf;Integrated Security=True;Connect Timeout=30";27 28 private void button1_Click(object sender, EventArgs e)29 {30 try31 {32 conn = new SqlConnection(connString);33 conn.Open();34 cmd = conn.CreateCommand();35 cmd.CommandText = "Insert into Table1 ( username , password ) values (@username , @password ) ";36 cmd.Parameters.AddWithValue("@username", textBox1.Text.Trim());37 cmd.Parameters.AddWithValue("@password", textBox2.Text.Trim());38 int n = cmd.ExecuteNonQuery();39 if ( n > 0 )40 {41 MessageBox.Show("成功插入", "Insert OK ", MessageBoxButtons.OK, MessageBoxIcon.Information);42 }43 else44 {45 MessageBox.Show("插入失败", "Insert error", MessageBoxButtons.OK, MessageBoxIcon.Error);46 }47 48 }49 catch (Exception ex)50 {51 MessageBox.Show(ex.Message, "Open Error", MessageBoxButtons.OK);52 }53 finally54 {55 if (reader != null) reader.Close();56 if (conn.State == ConnectionState.Open) conn.Close();57 }58 }59 60 private void button2_Click(object sender, EventArgs e)61 {62 try63 {64 conn = new SqlConnection(connString);65 conn.Open();66 cmd = conn.CreateCommand();67 cmd.CommandText = "Select * From Table1 ";68 69 adapter = new SqlDataAdapter(cmd);70 71 List = new DataSet();72 73 adapter.Fill(List);74 DataTable table = List.Tables[0];75 76 DataRowCollection Rows = table.Rows;77 78 for (int i = 0; i < Rows.Count; i++)79 {80 DataRow row = Rows[i];81 string username = (string)row["username"];82 string password = (string)row["password"];83 84 this.richTextBox1.Text += username + " " + password + "\r\n";85 }86 }87 catch (Exception ex)88 {89 MessageBox.Show(ex.Message, "Open Error", MessageBoxButtons.OK);90 }91 finally92 {93 if (reader != null) reader.Close();94 if (conn.State == ConnectionState.Open) conn.Close();95 }96 }97 }98 }
Code2
3、设计一个Windows窗体应用程序,根据下图设置相关属性,该程序能够读取AdventureWorksDW_Data.mdf数据库中DimReseller表中数据,具体界面如下。
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms; 10 using System.Data.SqlClient; 11 12 namespace FormPage 13 { 14 public partial class Form1 : Form 15 { 16 17 18 private SqlConnection conn = null; 19 private SqlCommand cmd = null; 20 private SqlDataAdapter adapter = null; 21 private SqlDataReader reader = null; 22 private DataSet ds = null; 23 24 private int pageSize = 10; 25 private int rowCount = 0; 26 private int pageNum = 0; 27 private string connectString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\C#09J20172202899何海钊\MyForm3\AdventureWorksDW2008\AdventureWorksDW_Data.mdf;Integrated Security=True;Connect Timeout=30"; 28 29 public Form1() 30 { 31 InitializeComponent(); 32 Count_Row(); 33 Fill_Data(); 34 } 35 36 private void btn_FirstPage_Click(object sender, EventArgs e) 37 { 38 pageNum = 0; 39 Fill_Data(); 40 } 41 42 43 private void btn_LastPage_Click(object sender, EventArgs e) 44 { 45 pageNum = rowCount/pageSize; 46 Fill_Data(); 47 } 48 49 private void btn_PrePage_Click(object sender, EventArgs e) 50 { 51 if( pageNum > 0 ) 52 { 53 pageNum--; 54 Fill_Data(); 55 } 56 } 57 58 private void btn_NextPage_Click(object sender, EventArgs e) 59 { 60 if (pageNum < rowCount / pageSize) 61 { 62 pageNum++; 63 Fill_Data(); 64 } 65 66 } 67 private void btn_Fill_Click(object sender, EventArgs e) 68 { 69 Fill_Data(); 70 } 71 void Fill_Data() 72 { 73 if (pageNum == 0) 74 { 75 btn_FirstPage.Enabled = false; 76 btn_PrePage.Enabled = false; 77 } 78 else 79 { 80 btn_FirstPage.Enabled = true; 81 btn_PrePage.Enabled = true; 82 } 83 84 if( pageNum == rowCount / pageSize) 85 { 86 btn_LastPage.Enabled = false; 87 btn_NextPage.Enabled = false; 88 } 89 else 90 { 91 btn_LastPage.Enabled = true; 92 btn_NextPage.Enabled = true; 93 } 94 try 95 { 96 conn = new SqlConnection(connectString); 97 conn.Open(); 98 99 cmd = conn.CreateCommand();100 cmd.CommandText = "Select top ("+pageSize+ ") Employeekey , FirstName , LastName , EmailAddress , Phone from DimEmployee where EmployeeKey not in( Select top (" + pageSize *pageNum+ ") EmployeeKey from DimEmployee order by EmployeeKey ) order by EmployeeKey";101 102 103 104 ds = new DataSet();105 adapter = new SqlDataAdapter(cmd);106 adapter.Fill(ds , "DimEmployee" );107 108 dataGridView1.DataSource = ds;109 dataGridView1.DataMember = "DimEmployee";110 111 }112 catch (Exception ex)113 {114 MessageBox.Show(ex.Message, "Fill Error", MessageBoxButtons.OK, MessageBoxIcon.Error);115 }116 finally117 {118 if (conn.State == ConnectionState.Open)119 conn.Close();120 }121 }122 123 void Count_Row()124 {125 try126 {127 conn = new SqlConnection(connectString);128 conn.Open();129 130 cmd = conn.CreateCommand();131 cmd.CommandText = "Select count(*) from DimEmployee";132 133 reader = cmd.ExecuteReader();134 if( reader.Read())135 {136 rowCount = reader.GetInt32(0);137 }138 else139 {140 MessageBox.Show("Search Error", "0 row", MessageBoxButtons.OK, MessageBoxIcon.Error);141 }142 if (reader.IsClosed)143 reader.Close();144 }145 catch (Exception ex)146 {147 MessageBox.Show(ex.Message, "Search Error", MessageBoxButtons.OK, MessageBoxIcon.Error);148 }149 finally150 {151 if (conn.State == ConnectionState.Open)152 conn.Close();153 if( reader.IsClosed)154 reader.Close();155 }156 }157 }158 }
Code3