sql数据库远程连接配置(C操作SQL数据库)
时间:2023-09-10 11:10:42 整理: • 6人看过
“本文主要讲解如何使用C#语言操作SQL数据库。”
01
—
创建连接对象
1)引用命名空
使用系统。Data . SqlClient
2)加载程序时连接创建的数据库。
//存储数据库数据源 String strmy connection = & # 34;数据源= DESKTOP-u6v 69b 6;初始目录= 2022 _ Karl集成安全性= True & # 34; SqlConnection my connection;//数据库连接对象 private void form 1 _ load(对象发送方,event arse) { /创建数据库连接对象 MyConnection。 }
02
—
数据写入
在相应的输入字段中输入数据,然后单击将数据添加到表格中。
以下是源代码:
private void btnAdd _ Click(object sender,EventArgs e) { bool RES = false; 尝试 { /打开数据库 myConnection。open(); //实例化命令对象 sqlcommandMycommand = new sqlcommand(); /传递要操作的数据库 mycommand。connection = myconnection /操作类型是文本类型 mycommand。Commandtype = commandtype.text // my command。CommandText = @ & # 34插入到studentList(学号、姓名、年龄、性别、地址)值(@学号、@姓名、@年龄、@性别、@地址)& # 34;; myCommand。Parameters.Add(新的SQL parameter(& # 34;@学号& # 34;,文本框_ID。正文)); myCommand。Parameters.Add(新的SQL parameter(& # 34;@ Name & # 34,文本框名称。正文)); myCommand。Parameters.Add(新的SQL parameter(& # 34;@年龄& # 34;,textBox_Age。正文)); myCommand。Parameters.Add(新的SQL parameter(& # 34;@ Gender & # 34,textBox_Sex。正文)); myCommand。Parameters.Add(新的SQL parameter(& # 34;@地址& # 34;,textBox_Addr。正文)); /提交数据 我的命令。executenonquery(); /关闭数据库 myConnection。close(); RES = true; } catch(Exception ex) { MessageBox。显示(例如。tostring()); myConnection。close(); } if(RES) { MessageBox。显示(& # 34;添加成功& # 34;); } }
03
—
数据查询
点击,可以看到表格中的数据显示成功。
以下是源代码:
private void BTN find _ Click(object sender,Eventargs e) { [/select * from table name查询整个表 /select condition from table name按条件查询表 try [/h]。 //实例化命令对象 sqlcommandMycommand = new sqlcommand(); /传递要操作的数据库 mycommand。connection = myconnection /操作类型是文本类型 mycommand。Commandtype = commandtype.text //命令格式,表示所有查询 mycommand。commandtext = @ & # 34select * from studentList & # 34; /Create DataAdapter对象 sqldata adapter sda = new sqldata adapter(我的命令); /创建DataSet对象 DataSet ds = new DataSet(); /将表studentList填入数据集 sda。填充(ds,& # 34;学生名单& # 34;); /在控件上显示student list datagridview 1 . data source = ds . tables[& # 34;学生名单& # 34;].DefaultView /关闭数据库 myConnection。close(); } catch(Exception ex) { MessageBox。显示(例如。ToString()); myConnection。close(); } }
04
—
按条件查询
在查询栏按姓名输入karl,点击查看符合条件的数据已被过滤掉。
以下是源代码:
private void btnCdtFind _ Click(object sender,Eventargse) {[/select * from table name-查询整个表 /select column name from table name where column operator value-按条件查询表 //实例化命令对象 sqlcommandMycommand = new sqlcommand(); /传递要操作的数据库 mycommand。connection = myconnection /操作类型是文本类型 mycommand。Commandtype = commandtype.text /command格式,意思是按名称查询 mycommand。commandtext = @ & # 34select * from student list where name = @ name & # 34;; myCommand。Parameters.Add(新的SQL parameter(& # 34;@ Name & # 34,textBox_Cdt。正文)); /开始查询 int RES = convert . toint 32(my command . executescalar()); /如果找不到,报告错误 If(RES = = 0) { 抛出新异常(& # 34;没有这样的人& # 34;); } /Create DataAdapter对象 sqldata adapter sda = new sqldata adapter(我的命令); /创建DataSet对象 DataSet ds = new DataSet(); /将表studentList填入数据集 sda。填充(ds,& # 34;学生名单& # 34;); /在控件上显示student list datagridview 1 . data source = ds . tables[& # 34;学生名单& # 34;].DefaultView /关闭数据库 myConnection。close(); } catch(Exception ex) { MessageBox。显示(例如。ToString()); myConnection。close(); } }
05
—
删除数据
1)单击以查看表格中的数据。
2)在“按名称删除”列中输入karl,然后在弹出的窗口中单击。
3)再次点击,发现名为karl的数据已经被删除。
以下是源代码:
private void BTN _ del _ click(对象发送方,eventargse) { //删除语法 /Delete from表名where条件 //实例化命令对象 sqlcommandMycommand = new sqlcommand(); /传递要操作的数据库 mycommand。connection = myconnection /操作类型是文本类型 mycommand。Commandtype = commandtype.text /command格式,意思是按名称查询 mycommand。commandtext = @ & # 34从学生列表中删除,其中name = @ name & # 34; myCommand。Parameters.Add(新的SQL parameter(& # 34;@ Name & # 34,textBox_Del。正文)); /开始查询 int RES = convert . toint 32(my command . executenonquery()); /如果找不到,报告错误 If(RES = = 0) { 抛出新异常(& # 34;没有这样的人& # 34;); } MessageBox。显示(& # 34;删除成功& # 34;); my connection。close(); } catch(Exception ex) { MessageBox。显示(例如。ToString()); myConnection。close(); } }
06
—
将修改后的值保存到数据库。
1)原性别栏下的数据为男性。
2)将性别由男改为女,回车,在弹出的提示对话框中点击。
3)点击
4)点击可以看到性别一栏原来的男性已经改成了女性。
以下是源代码:
//定义一个对象类型的变量来存储修改前的数据 object cell temp value = null; /修改前的数据 privateviddatagridview 1 _ cellbeginEdit(对象发送方,DataGridViewCellCanceleventargs e) { /将之前编辑的数据保存在cellTempValue变量中 CellTempValue = this。DataGridView1。行[e.rowindex]。 } //修改数据 Private Void DataGridView 1 _ Celendedit Datagridviewcelleventargse) { //更新语法 //更新表名设置列名=值where条件 []equals(单元格温度值,this . datagridview 1 . rows[e . rowindex])。单元格[e.columnindex]。value)) { } /如果选择取消,恢复修改后的值 if (messagebox。显示(& # 34;您确定要修改并更新数据库吗& # 34;, "提示& # 34;,MessageBoxButtons。确定取消,MessageBoxIcon。问题)!=对话结果。好) { this . datagridview 1 . rows[e . RowIndex]。单元格[e.ColumnIndex]。Value = cellTempValue 返回; } /如果选择确认,将修改后的值更新到数据库 try { //实例化命令对象 sqlcommandMycommand = new sqlcommand(); /传递要操作的数据库 mycommand。connection = myconnection /操作类型是文本类型 mycommand。Commandtype = commandtype.text /command format string strql = string . format( & # 34;更新学生列表集{ 0 } = & # 39;{1}'其中学号= & # 39;{2}'", this . datagridview 1 . columns[e . column index]。Headertext,//当前选定的列名 this . datagridview 1 . rows[e . rowindex]。单元格[e.columnindex]。//选中单元格的修改值 this . datagridview 1 . rows[e . rowindex]。单元格[0]。value//所选单元格修改前的值 ); /命令格式 mycommand。commandtext = strsql /语句执行 int res = mycommand。executenonquery(); if(RES = = 0) { 抛出新异常(& # 34;修改失败& # 34;); } else { MessageBox。显示(& # 34;修改成功& # 34;); } my connection。close(); } catch(Exception ex) { MessageBox。显示(例如。ToString()); myConnection。close(); } }
苦逼的自动化同胞们,加油!加油!加油!你差一点就成功了
,