嵌入式sql语言实验报告.docx
- 文档编号:3323443
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:14
- 大小:382.66KB
嵌入式sql语言实验报告.docx
《嵌入式sql语言实验报告.docx》由会员分享,可在线阅读,更多相关《嵌入式sql语言实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
嵌入式sql语言实验报告
实验项目名称实验四:
嵌入式SQL的使用
一、实验目的
1、明确嵌入式SQL的意义。
2、学会使用不用游标的DML语句。
3、学会使用使用游标的DML语句。
二、实验环境
在Win7-32系统下,用MicrosoftSQLServerManagementStudio实现的
三、实验内容
以学生选课数据库为中心,使用PowerBuilder语言(Vb或Delphi),设计一个数据录入、查询窗口,进行练习。
1、不用游标语句2、使用游标的语句
四、实验结果
1、不用游标语句
(1)查询结果为单记录的SELECT语句
格式:
SELECT目标列
INTO主变量
FROM基本表(或视图)
[WHERE条件表达式];
如:
根据主变量GIVENS#的值找该学生的信息
SELECTSN,SD,SA
INTO:
SNAME,:
DEPT,:
AGE
FROMS
WHERES#=:
GIVENS#;
(2)UPDATE语句
如:
UPDATES
SETSA=NULL
WHERESD=”CS”
(3)DELETE语句
如:
DELETE
FROMSC
WHERE:
DEPT=
(SELECTSD
FROMS
WHERES.S#=SC.S#);
2、使用游标的语句
(1)查询结果为单记录的SELECT语句
格式:
SELECT目标列
INTO主变量
FROM基本表(或视图)
[WHERE条件表达式];
如:
根据主变量GIVENS#的值找该学生的信息
SELECTSN,SD,SA
INTO:
SNAME,:
DEPT,:
AGE
FROMS
WHERES#=:
GIVENS#;
2.查询数据
Update语句
UPDATES
SETSA=NULL
WHERESD=”MA”
(3)DELETE语句
如:
DELETE
FROMSC
WHERE:
sd=
(SELECTSD
FROMS
WHERES.S#=SC.S#);
已删除
4)INSERT语句
如:
INSERT
INTOS(S#,SN,SD,SG,SEX)
VALUES(:
GIVENS#,:
SNAME,:
DEPT)
使用C#操作的代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceSql
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
l1.Text="请连接数据库!
";
}
staticSqlConnectionsql=null;//创建连接对象
staticSqlCommandstu=newSqlCommand();//创建对象
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text=="")
{
MessageBox.Show(null,"请输入数据库名称",0,MessageBoxIcon.Error);
}
else
{
try
{
stringsc="server=A506;database="+textBox1.Text.Trim()+";uid=sa;pwd=123";
sql=newSqlConnection(sc);
sql.Open();
if(sql.State==ConnectionState.Open)
{
l1.Text="连接成功;
button3.Enabled=true;
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
//l1.Text="连接失败请重试;
}
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
try
{
sql.Close();
if(sql.State==ConnectionState.Closed)
{
l1.Text="关闭成功";
}
}
catch
{
l1.Text="关闭失败,请连接数据库!
";
}
}
privatevoidsqls(stringstr)//数据库操作Á函¡数用接SQL语句?
{
try
{
stu.Connection=sql;//设置连接属性
DataSetds=newDataSet();
SqlDataAdaptersda=newSqlDataAdapter(str,sql);
sda.Fill(ds,"student");
dataGrid1.DataSource=ds.Tables["student"].DefaultView;
}
catch(Exceptionex)
{
//查¨¦询¡¥失º¡ì败㨹!
ê?
MessageBox.Show(ex.Message);
}
}
privatevoidupdata(stringstr)
{
try
{
stu.Connection=sql;
stu=newSqlCommand(str,sql);
stu.ExecuteNonQuery();
l1.Text="更新成功!
";
}
catch
{
MessageBox.Show("更新失败¹请重试!
");
}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
stringselect="select*fromstudentwheresno="+textBox2.Text.Trim();
sqls(select);
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
stringselect="select*fromstudentwheresdept='"+textBox2.Text.Trim()+"'";
sqls(select);
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
stringupda="UPDATEstudentSETsage=nullWHEREsdept='"+textBox2.Text.Trim()+"'";
updata(upda);
}
privatevoidsqlinsert(stringstr)
{
try
{
stu.Connection=sql;
stu=newSqlCommand(str,sql);
stu.ExecuteNonQuery();
l1.Text="插入成功,请查询!
";
}
catch(Exceptionex)
{
MessageBox.Show("插入失败请重试?
"+ex.Message);
}
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
try
{
stringsno,sname,sd,sage,sex;//读取单元格内容
sno=data1.CurrentRow.Cells[0].Value.ToString();
sname=data1.CurrentRow.Cells[1].Value.ToString();
sd=data1.CurrentRow.Cells[2].Value.ToString();
sage=data1.CurrentRow.Cells[3].Value.ToString();
sex=data1.CurrentRow.Cells[4].Value.ToString();
l1.Text=sno+sname+sd+sage+sex;
stringinsert="INSERTINTOstudent(sno,sname,sdept,sage,ssex)VALUES('"+
sno.Trim()+"','"+sname.Trim()+"','"+sd.Trim()+"','"+sage.Trim()+"','"+sex.Trim()+"')";
sqlinsert(insert);
}
catch
{
MessageBox.Show("请检查输入内容!
");
}
}
privatevoidbutton7_Click(objectsender,EventArgse)
{
data1.Visible=true;
}
privatevoidsqldelete(stringstr)
{
try
{
stu.Connection=sql;
stu=newSqlCommand(str,sql);
stu.ExecuteNonQuery();
l1.Text="删除成功请查询?
";
}
catch(Exceptionex)
{
MessageBox.Show("删除失败请重试"+ex.Message);
}
}
privatevoidbutton8_Click(objectsender,EventArgse)
{
stringdelete="deletefromstudentwheresno="+textBox2.Text.Trim();
sqldelete(delete);
}
privatevoiddata1_CellContentClick(objectsender,DataGridViewCellEventArgse)
{
}
}
}
五、实验心得:
本次实验完成的不是很顺利,中间遇到很多问题,但通过和同学们讨论、网上查找都得到了很好的解决,通过实验,知道了自己哪方面掌握不足,对视图的使用还要多加练习,是自己掌握更加牢固。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 sql 语言 实验 报告