做网站还有钱赚吗,seo优秀网站,敬请期待英文怎么写,上海地产网站建一、需求分析 #xff08;1#xff09;还没有注册的客户#xff0c;可以进入注册界面进行注册。 #xff08;2#xff09;新建一个报修表#xff0c;名字为repair_info0#xff0c;列有用户名、报修类型、报修地点、报修内容#xff0c;报修日期和时间、用户报修次数。… 一、需求分析 1还没有注册的客户可以进入注册界面进行注册。 2新建一个报修表名字为repair_info0列有用户名、报修类型、报修地点、报修内容报修日期和时间、用户报修次数。 3在报修界面中当用户点击“报修”按钮时软件会把用户报修的信息写入数据库中还可以更新报修次数同时会清空相应的文本框。 二、具体设计思路 1首先建一个报修表然后在窗体上摆些所需的控件。 2我们需要做的有查询、插入、修改。当点击查询的时候数据会从数据库里读取到相应的控件里然后我们可以对报修次数进行更改我们在相应的控件里填写信息点击报修会把数据插入到数据库里同时清空了相应的文本框。 3我们感觉如果插入日期用填写的方法没有多大意义还容易出错于是我们用NumericUpDown控件来获取当日的日期。获取的日期用Label显示然后插入数据库里为了不影响界面美观我们把NumericUpDown控件隐藏起来。 4查询、插入、修改都要连接数据库这样连接数据库的代码要重写多次所以我们把查询、插入、修改的代码写在一个类里。 三、代码实现 封装代码 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Data;namespace zhuce
{class Class1{public string strCon data source.;initial catalogH:\\DATA\\REPAIR.MDF;integrated securitytrue;public SqlConnection sqlCon new SqlConnection();public SqlDataReader sdr;public DataTable dt new DataTable();public SqlDataAdapter sda new SqlDataAdapter();public DataSet ds new DataSet();public void dbcon(){try{sqlCon new SqlConnection(strCon);}catch (Exception e){MessageBox.Show(数据库连接不成功: e.ToString());}}public void dbFill(string selstr){dt.Clear();sda new SqlDataAdapter(selstr, strCon);sda.Fill(ds, repair_info0);dt ds.Tables[repair_info0];}public void dbSelect(string showInfo){sqlCon.Open();SqlCommand sqlcmd new SqlCommand(showInfo, sqlCon);sdr sqlcmd.ExecuteReader();}public void dbInsert(string insertInfo){sqlCon.Open();SqlCommand sqlcmd new SqlCommand(insertInfo, sqlCon);try{sqlcmd.ExecuteNonQuery();MessageBox.Show(报修成功);}catch (Exception e){MessageBox.Show(报修失败 e.ToString());}sqlCon.Close();}public void dbInsert1(string insertInfo){sqlCon.Open();SqlCommand sqlcmd new SqlCommand(insertInfo, sqlCon);try{sqlcmd.ExecuteNonQuery();MessageBox.Show(注册成功);}catch (Exception e){MessageBox.Show(注册失败 e.ToString());}sqlCon.Close();}public void dbUpdate(string updStr){sqlCon.Open();SqlCommand sqlcmd new SqlCommand(updStr, sqlCon);try{sqlcmd.ExecuteNonQuery();MessageBox.Show(更新成功);}catch (Exception e){MessageBox.Show(更新失败 e.ToString());}sqlCon.Close();}}} 注册代码 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;namespace zhuce
{public partial class Zhuce : Form{public Zhuce(){InitializeComponent();}Class1 cl new Class1();private void zc_Click(object sender, EventArgs e){cl.dbcon();string sql insert into user_info(userName,passWord) values( textBox1.Text , textBox2.Text );cl.dbInsert1(sql); baoxiu b new baoxiu();b.Show();}}} 报修代码 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;namespace zhuce
{public partial class baoxiu : Form{public baoxiu(){InitializeComponent();}string selStr select * from repair_info0;Class1 cl new Class1();private void bx_Click(object sender, EventArgs e){year.Value Convert.ToDecimal(DateTime.Now.Year);month.Value Convert.ToDecimal(DateTime.Now.Month);day.Value Convert.ToDecimal(DateTime.Now.Day);cl.dbcon();string insrtInfo insert into repair_info0(userName,bxplace,bxtype,bxcontent,bxdate,bxtime) values( comboBox2.Text , textBox1.Text , comboBox1.Text , richTextBox1.Text , label1.Text , textBox3.Text );cl.dbInsert(insrtInfo);textBox1.Text ;comboBox2.Text ;textBox3.Text ;comboBox1.Text ;richTextBox1.Text ;}private void year_ValueChanged(object sender, EventArgs e){label1.Text year.Value - month.Value - day.Value;}private void month_ValueChanged(object sender, EventArgs e){label1.Text year.Value - month.Value - day.Value;}private void day_ValueChanged(object sender, EventArgs e){label1.Text year.Value - month.Value - day.Value;}private void chaxun_Click(object sender, EventArgs e){cl.dbcon();cl.dbFill(selStr);comboBox2.ValueMember userName;comboBox2.DataSource cl.dt.DefaultView;}private void button1_Click(object sender, EventArgs e){cl.dbcon();string strUpd update repair_info0 set bxtime textBox3.Text where userName comboBox2.Text ;cl.dbUpdate(strUpd);textBox1.Text ;comboBox2.Text ;textBox3.Text ;comboBox1.Text ;richTextBox1.Text ;}private void comboBox2_SelectedIndexChanged(object sender, EventArgs e){string selStr select * from repair_info0 where userName comboBox2.Text ;cl.dbcon();cl.dbSelect(selStr);if (cl.sdr.Read()){comboBox2.Text cl.sdr[userName].ToString();textBox1.Text cl.sdr[bxplace].ToString();comboBox1.Text cl.sdr[bxtype].ToString();richTextBox1.Text cl.sdr[bxcontent].ToString();textBox3.Text cl.sdr[bxtime].ToString();label1.Text cl.sdr[bxdate].ToString();}}}
} 四、测试 五、PSP耗时分析 PSP2.1Personal Software Process StagesTimehPlanning计划10 • Estimate估计这个任务需要多长时间10Development开发7 • Analysis需求分析1 • Design Spec生成设计文档1 • Coding Standard代码规范2 • Design具体设计1 • Coding具体代码1 • Code Review代码复审0.5 • Text测试0.5Reporting报告3 • Test Report测试报告1 • Size Measurement计算工作量 1 • Postmortem事后总结 1 六、团队分工 这次团队作业是我们一个宿舍的七个人有付媛媛、徐玉莹、王远离、卫文静、梁秋萍、胡田鸽、龚园苑。 具体分工如下 团队负责人付媛媛 创建数据库徐玉莹 连接数据库王远离 外观设计人员龚园苑 写代码人员徐玉莹、付媛媛 测试人员梁秋萍 写文档人员胡田鸽 团队人员得分情况如下 付媛媛3分 徐玉莹2分 卫文静1分 王远离1分 梁秋萍1分 胡田鸽1分 龚园苑1分 七、总结 这次增量作业比上次难一点涉及的范围比较广但我们是打不死的小强再难也要坚持。当然这种题对我们班的学霸来说是小菜一碟对我们来说就是学习的过程。其实我们这次完成的还有缺陷。比如更新报修次数并没有达到我们预想的结果。我们在相应的文本框里填写用户报修信息后当点击报修的时候就自动在数据库里bxtime(报修次数)列添加1次报修次数当我们再读取到这一用户时再点击报修就自动更改了数据库里报修次数列为2而不是我们手动来更改报修次数。不知道老师这次增量的要求是不是表达这个意思。 我们想实现这种结果但是代码写了又改总是出错于是就添加了一个更新按钮来手动更新报修次数。 纸上得来终觉浅绝知此事要躬行当我们看到书上写的一些程序时总觉得实现的功能太过于简单而且那些都是别人的知识纸上谈兵终究不行但当我自己亲自写一些程序时才发现即使想实现一个很小的功能也是不易的但只要每一次都能实现小小的功能就算是有了很大的收获。 想要实现一个完美的程序需要很好的基础功底和思考能力我们就特别缺少基础知识希望老师每次布置的作业能让我们巩固基础知识提高思考能力。 转载于:https://www.cnblogs.com/twinkle-0908/p/5043664.html