SharpDevelop 5.1 调试一个简单会员管理系统
下面使用SharpDevelop 5.1 調(diào)試一個簡單會員管理系統(tǒng),源碼來自
http://www.softhy.net/soft/35411.htm
在SharpDevelop 5.1打開,運行該項目;
出現(xiàn)下圖錯誤;
多個入口點;注釋了Login.cs中的一個測試類,該類包含一個Main()函數(shù);
再運行,出現(xiàn)下圖錯誤;
網(wǎng)上查找bclient,不知為何物;注釋掉相關(guān)語句;
再運行,出現(xiàn)下圖錯誤;
修改目標(biāo)CPU為32位Intel兼容,如下圖;
跑起來后,需要登錄;
用MDB查看工具打開數(shù)據(jù)庫可看到表的內(nèi)容;MDB查看工具在
http://blog.csdn.net/bcbobo21cn/article/details/51000041
運行起來,僅有個人信息查看和修改功能;
下面看下其主要代碼;
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.OleDb; //Download by http://www.codefans.net namespace 會員管理系統(tǒng)_桌面級_ {public partial class Edit : Form{public Edit( )//接UserName數(shù)據(jù){InitializeComponent( );lblUserName.Text = Login.loginedUserName;}private void Edit_Load(object sender, EventArgs e){// TODO: 這行代碼將數(shù)據(jù)加載到表“memberDataSet1.Users”中。您可以根據(jù)需要移動或移除它。this.usersTableAdapter.Fill(this.memberDataSet1.Users);// TODO: 這行代碼將數(shù)據(jù)加載到表“memberDataSet1.Users”中。您可以根據(jù)需要移動或移除它。this.usersTableAdapter.Fill(this.memberDataSet1.Users);// TODO: 這行代碼將數(shù)據(jù)加載到表“memberDataSet1.Users”中。您可以根據(jù)需要移動或移除它。this.usersTableAdapter.Fill(this.memberDataSet1.Users);ShowUserInfo( );}private void ShowUserInfo( ){string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\..\\..\\member.mdb";//最新方法,能把數(shù)據(jù)庫放在項目文件夾目錄中讀取//和網(wǎng)頁版會員管理系統(tǒng)差不多,代碼也是先粘貼過來再修改的OleDbConnection conn = new OleDbConnection(strConn);string sql = "SELECT * FROM Users WHERE UserName='" + lblUserName.Text + "'";OleDbCommand cmd = new OleDbCommand(sql, conn);conn.Open( );OleDbDataReader reader = cmd.ExecuteReader( );reader.Read( );txtRealName.Text = reader["RealName"].ToString( );string ValueSex = reader["Sex"].ToString( );//性別顯示,要加判斷if ( ValueSex == "女" ){rbSexWoman.Checked = true;}else{rbSexMan.Checked = true;}cboQuestion.Text = reader["Question"].ToString();//cboQuestion無法正常顯示//cboQuestion.SelectedValue = reader["Question"].ToString( );//cboQuestion.DisplayMember = reader["Question"].ToString( );//cboQuestion.ValueMember = reader["Question"].ToString( );txtAnswer.Text = reader["Answer"].ToString( );txtEmail.Text = reader["Email"].ToString( );reader.Close( );conn.Close( );}private void btnSumbit_Click(object sender, EventArgs e){string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Application.StartupPath + "\\..\\..\\member.mdb";OleDbConnection conn = new OleDbConnection(strConn);string name, realName, sex, question, answer, email;//, address;name = lblUserName.Text;realName = txtRealName.Text.Trim( );if ( rbSexWoman.Checked == true )//性別輸入用了個變通的方法,不規(guī)范的,有機(jī)會要學(xué)會用正確的{sex = "女";}elsesex = "男";question = cboQuestion.SelectedItem.ToString( );answer = txtAnswer.Text.Trim( );email = txtEmail.Text.Trim( );//address = txtAddress.Text.Trim( );string sql = @"UPDATE Users SET RealName=?, Sex=?," +"Question=?, Answer=?, Email=? WHERE UserName='" + name + "'";OleDbCommand cmd = new OleDbCommand(sql, conn);cmd.Parameters.Add(new OleDbParameter("@RealName", OleDbType.WChar));cmd.Parameters.Add(new OleDbParameter("@Sex", OleDbType.WChar));cmd.Parameters.Add(new OleDbParameter("@Question", OleDbType.WChar));cmd.Parameters.Add(new OleDbParameter("@Answer", OleDbType.WChar));cmd.Parameters.Add(new OleDbParameter("@Email", OleDbType.WChar));//cmd.Parameters.Add(new OleDbParameter("@Address", OleDbType.WChar));cmd.Parameters["@RealName"].Value = realName;cmd.Parameters["@Sex"].Value = sex;cmd.Parameters["@Question"].Value = question;cmd.Parameters["@Answer"].Value = answer;cmd.Parameters["@Email"].Value = email;//cmd.Parameters["@Address"].Value = address;conn.Open( );cmd.ExecuteNonQuery( );conn.Close( );Main mymain = new Main( );mymain.Show( );this.Close( );}private void btnReset_Click(object sender, EventArgs e){this.txtRealName.ResetText( );this.txtAnswer.ResetText( );this.txtEmail.ResetText( );//this.cboQuestion.SelectedIndex = 1; //1為你所要選中的默認(rèn)值的序號,一般從0開始 程序?qū)υ摯a沒反應(yīng)}private void fillByToolStripButton_Click(object sender, EventArgs e){///try{this.usersTableAdapter.FillBy(this.memberDataSet1.Users);}///catch ( System.Exception ex ){System.Windows.Forms.MessageBox.Show(ex.Message);}}private void txtRealName_Validating(object sender, CancelEventArgs e){if (txtRealName.Text.Length == 0)errRealName.SetError(txtRealName, "用戶名不能為空!");elseerrRealName.Clear( );}private void gbxSex_Validating(object sender, CancelEventArgs e){}private void cboQuestion_Validating(object sender, CancelEventArgs e){if (cboQuestion.SelectedItem == null)errQuestion.SetError(cboQuestion, "請選擇密碼提示問題!");elseerrQuestion.Clear( );}private void txtAnswer_Validating(object sender, CancelEventArgs e){if (txtAnswer.Text.Length == 0)errAnswer.SetError(txtAnswer, "請輸入密碼查詢答案!");elseerrAnswer.Clear( );}private void txtEmail_Validating(object sender, CancelEventArgs e){if (txtEmail.Text.Length == 0)errEmail.SetError(txtEmail, "請輸入電子郵件地址!");elseerrEmail.Clear( );}} }使用了OLEDB的方式訪問Access;數(shù)據(jù)提供者是Microsoft.Jet.OLEDB.4.0;
數(shù)據(jù)庫在程序的啟動路徑;
用OleDbDataReader讀取到數(shù)據(jù)以后顯示;
更新數(shù)據(jù)時使用了OleDbCommand對象的參數(shù)屬性,先添加參數(shù),然后設(shè)置參數(shù)的值;然后用OleDbCommand對象的ExecuteNonQuery方法執(zhí)行SQL語句;
總結(jié)
以上是生活随笔為你收集整理的SharpDevelop 5.1 调试一个简单会员管理系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解用NetCat连接远程端口
- 下一篇: 调试一个C#研究生管理信息系统源码