for
条件,然后用pack物理删除
'引入命名空间Imports System.Data.SqlClient
'建立数据连接
Dim strcon As String = "integrated security=sspi" &"server=(local)database=master"
Dim mycon As New SqlConnection(strcon)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'建立数据命令
Dim mycmd As New SqlCommand
mycmd.Connection = mycon
mycmd.CommandType = CommandType.Text
mycmd.CommandText = "create database student on" &_
"( NAME = student_dat,FILENAME = 'D:\data\student.mdf')" &_
"log on" &_
"( NAME = 'student_log'," &" FILENAME = 'D:\data\student.ldf')"
mycon.Open()
'执行数据命令
Try
mycmd.ExecuteNonQuery()
MsgBox("数据库创建成功!")
Catch ex As Exception
MessageBox.Show(ex.Message, "请注意!", MessageBoxButtons.OK, MessageBoxIcon.Stop)
Finally
End Try
'关闭连接
mycon.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim mycmd1 As New SqlCommand
mycmd1.Connection = mycon
mycmd1.CommandType = CommandType.Text
mycmd1.CommandText = "CREATE TABLE info(学号 int,姓名 varchar(50) NOT NULL,班级 varchar(50),出生年月 datetime,户籍 varchar(50) null)"
mycon.Open()
'执行数据命令
Try
mycmd1.ExecuteNonQuery()
MsgBox("表创建成功!")
Catch ex As Exception
MessageBox.Show(ex.Message, "请注意!", MessageBoxButtons.OK, MessageBoxIcon.Stop)
Finally
End Try
'关闭连接
mycon.Close()
End Sub
在删除主表的记录时,这时有三种处理方式,1是自动删除所有子表的关联记录;2是拒绝删除,提示有子表记录存在,只有无任何关联子表记录时,才允许删除主表记录;3把关联的子表记录的引用字段的值设为空。例子,学生表和选课表。删除学生时的处理,需要级联删除或拒绝;雇员和部门,删除某个部门时,引用该部门的雇员表中的所属部门需要设为空。 对于更新,主要是指更新主表的主键或标识字段,同样有级联更新和拒绝更新等方式。不过更新很少使用。例如修改学号,需要同步更新所有引用学号的其他表中的学号的值。 如果不采用主外键的机制,一是在自己程序中通过代码来实现一致性的控制;而是使用自定义触发器的方式。供参考。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)