<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
1,利用亂數模擬產生每次考試成績
2,將每次考試成績存入到資料庫
3,將每次考試成績劃分優、良、中、差、不及格五類,並作為查詢條件,查詢符合每種水平的成績
1.random類的使用
2.資料庫的連結、新增資料、查詢資料、讀取資料
3,combox控制元件的使用
4,DataGridView控制元件的使用
建立資料庫,本文案例使用Sql Server2014,資料庫表如下:
1.模擬產生考試成績,點選考試按鈕,產生六科考試成績
Random rd = new Random();//範例化random類 int[] scores = new int[6]; for(int i = 0;i<scores.Length;i++) { scores[i] = rd.Next(0, 100); SumScore += scores[i];//總成績 } AvgScore = SumScore / scores.Length;//平均分 ScoreLevel = GetScoreLevel(SumScore); tbx01.Text = scores[0].ToString(); tbx02.Text = scores[1].ToString(); tbx03.Text = scores[2].ToString(); tbx04.Text = scores[3].ToString(); tbx05.Text = scores[4].ToString(); tbx06.Text = scores[5].ToString();
2.將每次考試成績儲存到資料庫中,通過按鈕觸發。
//建立資料庫操作類,DBOpera,方便其他功能在進行資料庫操作時,減少重複工作。 //資料庫連結字串,使用private防止為外部存取修改 private static string connstring = @"Data source = RANDOMSQLEXPRESS; Initial Catalog = DB1;User ID=sa; pwd = 123456"; //資料庫連結物件 public static SqlConnection conn = new SqlConnection(connstring); //定義執行sql查詢語句方法 public int ExecSQL(string sql) { //執行查詢語句後並不需要返回所有的查詢結果,而僅需要返回一個值, //例如查詢表中的記錄行數 //範例化sqlcommand類。 SqlCommand cmd = new SqlCommand(sql, conn); if (conn.State == ConnectionState.Closed)//如果當前資料庫連結處於關閉狀態 conn.Open(); int num = Convert.ToInt32(cmd.ExecuteScalar());//執行查詢 conn.Close(); return num; } public int ExecSQLResult(string sql) { /*執行非查詢 SQL 語句時並不需要返回表中的資料 增加、修改、刪除的操作 該方法的返回值是一個整數,表示 SqlCommand 類在執行 SQL 語句後, 對錶中資料影響的行數。返回值為-1時,代表 SQL 語句執行失敗,返回值為 0 時,代表 SQL 語句對當前資料表中的資料沒有影響。*/ //範例化sqlcommand物件 SqlCommand cmd = new SqlCommand(sql, conn); if (conn.State == ConnectionState.Closed) conn.Open(); int result = cmd.ExecuteNonQuery(); conn.Close(); return result; } public DataSet GetDataSet(string sql) { //將資料表中的資料查詢出來並新增到 DataSet 中 //每個 DataSet 都是由若干個資料表構成的,DataTable 即資料表, //每個 DataTable 也都是由行和列構成的, //行使用 DataRow 類表示、列使用 DataColumn 類表示。 SqlDataAdapter sqlda = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); sqlda.Fill(ds); //填充資料集 return ds; // 返回資料集 } public SqlDataReader GetDataReader(string sql) { //讀取表中的查詢結果,以唯讀方式讀取的(即不能修改 DataReader 中存放的資料) //當查詢結果僅為一條時,可以使用 if 語句查詢 DataReader 物件中的資料, //如果返回值是多條資料,需要通過 while 語句遍歷 DataReader 物件中的資料。 SqlCommand cmd = new SqlCommand(sql, conn); if (conn.State == ConnectionState.Closed) conn.Open(); SqlDataReader sqlDR = cmd.ExecuteReader(); return sqlDR; } } //外部呼叫DBOpera類,將模擬產生的考試成績儲存到資料庫中 //將考試成績儲存到資料庫中 //呼叫DataOperaor類中ExecSQLResult方法 string sql = "insert into MScore(Level,Math,Chinese,English," + "Chemical,Physics,Biology,TotalScore,AvgScore) values" + "('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')"; //填充SQL語句 sql = string.Format(sql, ScoreLevel, tbx01.Text, tbx02.Text, tbx03.Text, tbx04.Text, tbx05.Text, tbx06.Text, SumScore.ToString(), AvgScore.ToString()); int result = DbOpera.ExecSQLResult(sql); if (result != -1) { MessageBox.Show("資料儲存成功"); } else { MessageBox.Show("資料儲存失敗!"); }
3.利用下拉式方塊,顯示所有考試成績的評語
//建立方法,判斷成績的評語 public static string GetScoreLevel(int score) { string level = null; //總分540-600為優,480-540為良,420-480為中,360-420為差,低於420為不及格 if(score >= 540) { level = "優"; } else if(score >= 480) { level = "良"; } else if (score >= 420) { level = "中"; } else if (score >= 360) { level = "差"; } else { level = "不及格"; } return level; } //從資料庫讀取每次考試成績評語,並將資料顯示到下拉式方塊中 //查詢考試成績所處分段,並將這些資訊在下拉式方塊中顯示 //定時查詢語句 //cbx01為控制元件combox名稱 ArrayList arylist = new ArrayList(); string sql = "select distinct level from MScore"; DataSet ds = DbOpera.GetDataSet(sql); if(ds.Tables[0].Rows.Count >0) { DataTable dt = ds.Tables[0]; foreach (DataRow dr in dt.Rows) { arylist.Add(dr[0].ToString().Trim()); } cbx01.DataSource = arylist; }
4.根據查詢條件,查詢符合條件的資料,並使用DataGridView控制元件顯示
private void button3_Click(object sender, EventArgs e) { //查詢考試總成績大於查詢值的成績分佈資料 //定義查詢語句 string sql = "select Math,Chinese,English,Chemical,Physics,BIology,TotalScore,AvgScore from mscore where level ='" + cbx01.Text.ToString().Trim()+"'"; //建立DataSet類的物件 //datagridview1為控制元件datagridview名稱 DataSet ds = DbOpera.GetDataSet(sql); dataGridView1.DataSource = ds.Tables[0]; dataGridView1.Columns[0].HeaderText = "數學"; dataGridView1.Columns[1].HeaderText = "語文"; dataGridView1.Columns[2].HeaderText = "英語"; dataGridView1.Columns[3].HeaderText = "化學"; dataGridView1.Columns[4].HeaderText = "物理"; dataGridView1.Columns[5].HeaderText = "生物"; dataGridView1.Columns[6].HeaderText = "總分"; dataGridView1.Columns[7].HeaderText = "平均分"; // 設定資料表格為唯讀 dataGridView1.ReadOnly = true; //不允許新增行 dataGridView1.AllowUserToAddRows = false; //背景為白色 dataGridView1.BackgroundColor = Color.White; //只允許選中單行 dataGridView1.MultiSelect = false; //整行選中 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; }
動畫演示效果
以上就是C#資料庫操作的範例詳解的詳細內容,更多關於C#資料庫操作的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45