赞
踩
1.打开vs,创建一个新项目,分别在搜素框中选择C#、Windows、桌面,然后选择Windows窗体应用(.NET Framework)
2.打开“视图-服务器资源管理器”,右键单击“数据连接”,如图。在弹出的菜单中选择【创建新SQL Server 数据库】选项,弹出“创建新的SQL Server数据库”对话框。
3.对应项目,系统添加数据库连接。(要是电脑没有sql server,可以选中“视图-sql server资源管理器”创建数据库)
连接成功即如下(第一次可能只有一个)
4.新建数据库XSCJDB(学生成绩数据库),点开第二个小三角-右键点击数据库-添加新数据库
自己取名(最好采用英文命名)
5.选中该数据库并创建新表student,点击新建数据库前的小三角-右键表-添加新表
6.表中插入属性,双击即可打开
7.右键选中表查看表中数据
- private void button1_Click(object sender, EventArgs e)
- {
- string strcom = @"Data Source = (localdb)\ProjectModels;Initial Catalog = XSCJDB; Integrated Security = True;";
- SqlConnection sqlcon;
- using (sqlcon = new SqlConnection(strcom))
- {
- sqlcon.Open();
- MessageBox.Show("数据库连接状态" + sqlcon.State.ToString(), "第一个对话框");
- }
- MessageBox.Show("数据库连接状态" + sqlcon.State.ToString(), "第二个对话框");
-
- }
注意:
此处应根据自己的电脑修改,具体步骤如下:
单击刚建的数据库-在右下角解决方案资源管理器中找到连接字符串-复制第一个True前面的内容
- private void button2_Click(object sender, EventArgs e)
- {
- string strcom = @"Data Source = (localdb)\ProjectModels;Initial Catalog = XSCJDB; Integrated Security = True;";
- SqlConnection conn =null;
- try
- {
- conn = new SqlConnection(strcom);
- conn.Open();
-
- SqlCommand mycmm= new SqlCommand();
- mycmm.Connection = conn;
-
- mycmm.CommandType = CommandType.Text;
- mycmm.CommandText = @"insert into
- student(Id,name,major,grade,tel)
- values(@Id,@name,@major,@grade,@tel)";
- mycmm.Parameters.Add(new SqlParameter("@Id", 2022002));
- mycmm.Parameters.Add(new SqlParameter("@name", "李四"));
- mycmm.Parameters.Add(new SqlParameter("@major", "CS"));
- mycmm.Parameters.Add(new SqlParameter("@grade","80"));
- mycmm.Parameters.Add(new SqlParameter("@tel","13999216"));
-
- int returnvalue=mycmm.ExecuteNonQuery();
-
- if(returnvalue!=-1)
- {
- MessageBox.Show("数据插入成功");
- }
- }
- catch(Exception ex)
- {
- if(conn != null)
- {
- MessageBox.Show("数据插入失败" + ex.Message);
- }
- }
- }
- // 处理button3的点击事件,从数据库中查询并显示所有数据
- private void button3_Click(object sender, EventArgs e)
- {
- // 数据库连接字符串
- string strcom = @"Data Source = (localdb)\ProjectModels;Initial Catalog = XSCJDB; Integrated Security = True;";
- SqlConnection conn = null;
-
- try
- {
- // 初始化并打开数据库连接
- conn = new SqlConnection(strcom);
- conn.Open();
-
- // 创建并配置SqlCommand对象
- SqlCommand mycmm = new SqlCommand
- {
- Connection = conn,
- CommandType = CommandType.Text,
- CommandText = @"select * from student"
- };
-
- // 使用SqlDataAdapter填充DataSet
- SqlDataAdapter sda = new SqlDataAdapter(mycmm);
- DataSet ds = new DataSet();
- sda.Fill(ds, "studentList");
-
- // 显示查询结果到DataGridView
- dataGridView2.DataSource = ds.Tables["studentList"].DefaultView;
-
- // 关闭数据库连接
- conn.Close();
- }
- catch (Exception ex)
- {
- // 处理异常
- MessageBox.Show(ex.Message);
- if (conn != null)
- {
- conn.Close();
- }
- }
- }
- // 处理button4的点击事件,根据名字查询数据
- private void button4_Click(object sender, EventArgs e)
- {
- // 数据库连接字符串
- string strcon = @"Data Source = (localdb)\ProjectModels;Initial Catalog = XSCJDB; Integrated Security = True;";
- SqlConnection myConnection = new SqlConnection(strcon);
-
- try
- {
- // 打开数据库连接
- myConnection.Open();
-
- // 创建并配置SqlCommand对象
- SqlCommand myCommand = new SqlCommand
- {
- Connection = myConnection,
- CommandType = CommandType.Text,
- CommandText = @"select * from student where name =@name"
- };
-
- // 添加参数并赋值
- myCommand.Parameters.Add(new SqlParameter("@name", textBox1.Text));
-
- // 执行查询命令并检查结果
- int res = Convert.ToInt32(myCommand.ExecuteScalar());
- if (res == 0)
- {
- throw new Exception("查无此人");
- }
-
- // 使用SqlDataAdapter填充DataSet
- SqlDataAdapter sda = new SqlDataAdapter(myCommand);
- DataSet ds = new DataSet();
- sda.Fill(ds, "xr");
-
- // 显示查询结果到DataGridView
- dataGridView2.DataSource = ds.Tables["xr"].DefaultView;
-
- // 关闭数据库连接
- myConnection.Close();
- }
- catch (Exception ex)
- {
- // 处理异常
- MessageBox.Show(ex.ToString());
- if (myConnection != null)
- {
- myConnection.Close();
- }
- }
- }
- // 保存编辑单元格的原始值
- object cellTempValue = null;
-
- // 单元格开始编辑事件
- private void dataGridView2_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
- {
- // 保存单元格的原始值
- cellTempValue = this.dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
- }
-
- // 单元格结束编辑事件
- private void dataGridView2_CellEndEdit(object sender, DataGridViewCellEventArgs e)
- {
- // 如果单元格值没有改变,返回
- if (object.Equals(cellTempValue, this.dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].Value))
- {
- return;
- }
-
- // 弹出确认修改对话框
- if (MessageBox.Show("是否确定修改,并更新到数据库", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
- {
- // 如果取消修改,恢复原值
- this.dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = cellTempValue;
- return;
- }
-
- // 数据库连接字符串
- string strcom = @"your string";
- SqlConnection myConnection = new SqlConnection(strcom);
-
- try
- {
- // 打开数据库连接
- myConnection.Open();
-
- // 创建并配置SqlCommand对象
- SqlCommand myCommand = new SqlCommand
- {
- Connection = myConnection,
- CommandType = CommandType.Text
- };
-
- // 构建更新SQL语句
- string strSql = String.Format(
- "update student set {0}='{1}' where Id='{2}'",
- this.dataGridView2.Columns[e.ColumnIndex].HeaderText, // 当前选择的列名
- this.dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].Value, // 选中单元格修改后的值
- this.dataGridView2.Rows[e.RowIndex].Cells[0].Value // 选中单元格修改前的值
- );
-
- // 设置命令文本
- myCommand.CommandText = strSql;
-
- // 执行更新命令
- int res = myCommand.ExecuteNonQuery();
-
- // 检查更新是否成功
- if (res == 0)
- {
- throw new Exception("修改失败");
- }
- else
- {
- MessageBox.Show("修改成功");
- }
-
- // 关闭数据库连接
- myConnection.Close();
- }
- catch (Exception ex)
- {
- // 处理异常
- MessageBox.Show(ex.ToString());
- if (myConnection != null)
- {
- myConnection.Close();
- }
- }
- }
这个Windows Forms应用程序展示了如何连接本地数据库XSCJDB,并实现了数据插入、查询和删除等基本功能。以下是对该应用程序的小结:
1. 数据库连接与测试:通过点击按钮可以测试与数据库的连接,确保应用程序能够成功连接到本地数据库XSCJDB。
2. 数据插入:点击相应按钮可以将预设的学生信息插入到数据库的student表中,这提供了一种简单的数据录入方式。
3. 数据查询:通过点击按钮,应用程序能够查询并显示student表中的所有数据,使用户可以轻松地查看数据库中存储的信息。
4. 按姓名查询:应用程序还提供了按姓名查询学生数据的功能,用户只需输入学生姓名,即可获取相应的学生信息。
5. 数据删除:用户可以根据学生姓名删除相应的学生记录,这增加了对数据的管理和维护功能。
在编写这个应用程序时,需要注意以下易错点:
通过对这些易错点的注意和处理,可以确保应用程序的稳定性、安全性和用户友好性。同时,还可以考虑进一步优化应用程序的功能和性能,提升用户体验。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。