调试一个C#研究生管理信息系统源码
源碼來自
http://www.veryhuo.com/down/html/35724.html
首先用SharpDevelop 5.1打開該工程,出現下圖錯誤;該項目是早期.net 2003生成;SharpDevelop 5.1無法打開;
下圖是.sln文件,修改第一行的8.00為10.00;再打開項目;
打開出錯;
下面用VS2010學習版打開,轉換項目后,打開了;
運行,出現下圖錯誤;未在本地計算機上注冊“Microsoft.Jet.OLEDB.4.0”提供程序;
錯誤的詳細信息;
根據資料,需要修改生成的平臺為X86;
但是項目的屬性,生成,平臺,這個地方的選項只有一個 Any CPU;可能是因為用的VS學習版本;
下面再用SharpDevelop打開升級轉換后的工程;可以打開;
運行,出現下圖錯誤;
修改目標CPU為x86;
運行起來;主界面;
信息瀏覽界面;
添加記錄界面;
修改記錄窗體;
下面看下其增刪改的主要代碼;
更新信息;
先把選定記錄填充到文本框,然后顯示窗體,代碼如下;
private void btModify_Click(object sender, System.EventArgs e){if (dataGrid1.DataSource != null || dataGrid1[dataGrid1.CurrentCell] != null){studentModify = new StudentModify();studentModify.textID.Text=ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim();studentModify.textName.Text=ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim();studentModify.comboSex.Text=ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][2].ToString().Trim();studentModify.textNum.Text=ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][3].ToString().Trim();studentModify.textMajor.Text=ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][4].ToString().Trim();studentModify.date1.Text=ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][5].ToString().Trim();studentModify.textTeacher.Text=ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][6].ToString().Trim();studentModify.textRemark.Text=ds.Tables[0].Rows[dataGrid1.CurrentCell.RowNumber][7].ToString().Trim();studentModify.ShowDialog();}elseMessageBox.Show("沒有指定學生信息!","提示");}點擊確定按鈕進行更新;
private void btAdd_Click(object sender, System.EventArgs e){if ((textName.Text.Trim()=="") || (textID.Text.Trim()=="") || textNum.Text.Trim()=="")MessageBox.Show("提示","請輸入完整的課程信息");else{ oleConnection1.Open();string sql1="select * from studentinfo where SID<>'"+textID.Text.ToString()+"' and SNum='"+textNum.Text.ToString()+"'";oleCommand1.CommandText = sql1;if (null!=oleCommand1.ExecuteScalar())MessageBox.Show("身份證號發生重復","提示");else{string sql2="update studentinfo set SName='"+textName.Text.Trim()+"',SRemark='"+textRemark.Text.Trim()+"',"+"SSex='"+comboSex.Text.Trim()+"',SBirth='"+date1.Text.Trim()+"',SNum='"+textNum.Text.Trim()+"'"+" where SID='"+this.textID.Text.Trim()+"'";oleCommand1.CommandText=sql2;oleCommand1.ExecuteNonQuery();MessageBox.Show("學生信息修改成功","提示");this.Close();}oleConnection1.Close();}}先檢查是否有身份證重復;然后用填寫的內容生成SQL update語句,用命令對象的ExecuteNonQuery方法執行update語句;
添加信息;
private void btAdd_Click(object sender, System.EventArgs e){if (comboMajor.Text.Trim()==""||textName.Text.Trim()==""||comboSex.Text.Trim()==""||textID.Text.Trim()==""||textNum.Text.Trim()=="")MessageBox.Show("請填寫完整信息","提示");else{oleConnection1.Open();string sql;sql="select * from studentinfo where SID='"+textID.Text.ToString()+"' or SNum='"+textNum.Text.ToString()+"'";OleDbCommand cmd=new OleDbCommand(sql,oleConnection1);if (null==cmd.ExecuteScalar()){sql="insert into studentinfo (MName,SName,SBirth,SNum,SRemark,SID,SSex,TID) values ('"+comboMajor.Text.Trim()+"',"+"'"+textName.Text.Trim()+"','"+date1.Text.Trim()+"','"+textNum.Text.Trim()+"','"+textRemark.Text.Trim()+"',"+"'"+textID.Text.Trim()+"','"+comboSex.Text.Trim()+"','"+comboTeacher.SelectedValue.ToString().Trim()+"')"; cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show("學生添加成功","提示");clear();}elseMessageBox.Show("身份證號或學號相同","提示");oleConnection1.Close();}}首先檢查是否有身份證重復;然后用填寫的內容生成SQL insert into 語句,用命令對象的ExecuteNonQuery方法執行;
刪除信息;
private void btDel_Click(object sender, System.EventArgs e){if (dataGrid1.CurrentRowIndex>=0 && dataGrid1.DataSource != null && dataGrid1[dataGrid1.CurrentCell] != null){string sql="delete * from studentinfo where SID='"+ds.Tables["student"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"'";oleConnection1.Open();oleCommand1.CommandText = sql;oleCommand1.ExecuteNonQuery();MessageBox.Show("刪除學生'"+ds.Tables["student"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'成功","提示");oleConnection1.Close();}elseMessageBox.Show("沒有指定學生信息!","提示");}先判斷DataGrid是否有選定信息;
然后根據選中的記錄生成SQL delete語句,用命令對象的ExecuteNonQuery()方法執行;
delete語句的SID等于DataGrid當前行的第一列的值,即學號;
看下該項目的表的情況;
總結
以上是生活随笔為你收集整理的调试一个C#研究生管理信息系统源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SharpDevelop 5.1 调试一
- 下一篇: C#访问SQLite完整增删改查代码