调试一个C#研究生管理信息系统源码
源碼來(lái)自
http://www.veryhuo.com/down/html/35724.html
首先用SharpDevelop 5.1打開該工程,出現(xiàn)下圖錯(cuò)誤;該項(xiàng)目是早期.net 2003生成;SharpDevelop 5.1無(wú)法打開;
下圖是.sln文件,修改第一行的8.00為10.00;再打開項(xiàng)目;
打開出錯(cuò);
下面用VS2010學(xué)習(xí)版打開,轉(zhuǎn)換項(xiàng)目后,打開了;
運(yùn)行,出現(xiàn)下圖錯(cuò)誤;未在本地計(jì)算機(jī)上注冊(cè)“Microsoft.Jet.OLEDB.4.0”提供程序;
錯(cuò)誤的詳細(xì)信息;
根據(jù)資料,需要修改生成的平臺(tái)為X86;
但是項(xiàng)目的屬性,生成,平臺(tái),這個(gè)地方的選項(xiàng)只有一個(gè) Any CPU;可能是因?yàn)橛玫腣S學(xué)習(xí)版本;
下面再用SharpDevelop打開升級(jí)轉(zhuǎn)換后的工程;可以打開;
運(yùn)行,出現(xiàn)下圖錯(cuò)誤;
修改目標(biāo)CPU為x86;
運(yùn)行起來(lái);主界面;
信息瀏覽界面;
添加記錄界面;
修改記錄窗體;
下面看下其增刪改的主要代碼;
更新信息;
先把選定記錄填充到文本框,然后顯示窗體,代碼如下;
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("沒有指定學(xué)生信息!","提示");}點(diǎn)擊確定按鈕進(jìn)行更新;
private void btAdd_Click(object sender, System.EventArgs e){if ((textName.Text.Trim()=="") || (textID.Text.Trim()=="") || textNum.Text.Trim()=="")MessageBox.Show("提示","請(qǐng)輸入完整的課程信息");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("身份證號(hào)發(fā)生重復(fù)","提示");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("學(xué)生信息修改成功","提示");this.Close();}oleConnection1.Close();}}先檢查是否有身份證重復(fù);然后用填寫的內(nèi)容生成SQL update語(yǔ)句,用命令對(duì)象的ExecuteNonQuery方法執(zhí)行update語(yǔ)句;
添加信息;
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("請(qǐng)?zhí)顚懲暾畔?#34;,"提示");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("學(xué)生添加成功","提示");clear();}elseMessageBox.Show("身份證號(hào)或?qū)W號(hào)相同","提示");oleConnection1.Close();}}首先檢查是否有身份證重復(fù);然后用填寫的內(nèi)容生成SQL insert into 語(yǔ)句,用命令對(duì)象的ExecuteNonQuery方法執(zhí)行;
刪除信息;
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("刪除學(xué)生'"+ds.Tables["student"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'成功","提示");oleConnection1.Close();}elseMessageBox.Show("沒有指定學(xué)生信息!","提示");}先判斷DataGrid是否有選定信息;
然后根據(jù)選中的記錄生成SQL delete語(yǔ)句,用命令對(duì)象的ExecuteNonQuery()方法執(zhí)行;
delete語(yǔ)句的SID等于DataGrid當(dāng)前行的第一列的值,即學(xué)號(hào);
看下該項(xiàng)目的表的情況;
總結(jié)
以上是生活随笔為你收集整理的调试一个C#研究生管理信息系统源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SharpDevelop 5.1 调试一
- 下一篇: Windows内核符号表学习总结