Private Function CreateSQLData() As String
Dim cdl As New SaveFileDialog
cdl.Filter = "SQL文件(*.mdf)|*.mdf|所以文件(*.*)|*.*"
If cdl.ShowDialog = Windows.Forms.DialogResult.OK Then
If cdl.FileName.Length = 0 Then Return ("没取名")
Else
Return ("取消")
End If
Dim sFilePath As String = cdl.FileName
Dim SqlConn As Data.SqlClient.SqlConnection = Nothing
Dim sConn As String
sConn = "server=" + SQL.Server + "; uid=" + SQL.User + ";pwd=" + SQL.Password + "; database=" + "Master" + ";"
If SqlConn Is Nothing = True Then
SqlConn = New SqlClient.SqlConnection(sConn)
Try
SqlConn.Open()
Catch ex As Exception
If SqlConn.State <> ConnectionState.Closed Then
SqlConn.Close()
SqlConn = Nothing
End If
Return sConn
End Try
End If
If sFilePath.Substring(sFilePath.LastIndexOf(".") + 1).ToLower = "mdf" Then
sFilePath = sFilePath.Substring(0, sFilePath.Length - 4)
End If
Dim fName As String = sFilePath.Substring(sFilePath.LastIndexOf("/") + 1)
Dim strsql As String = ""
strsql = strsql & "CREATE DATABASE [" + fName + "] ON (NAME =N'" + fName + "_Data',FILENAME="
strsql = strsql & "N'" & sFilePath + "_Data.MDF',"
strsql = strsql & "SIZE =1,FILEGROWTH=10%) LOG ON (NAME=N'" + fName + "_Log',FILENAME= N'" & sFilePath + "_Log.LDF' ,SIZE=1,FILEGROWTH=10%)"
If SqlConn.State = ConnectionState.Open Then
Try
Dim SqlComm As SqlClient.SqlCommand = New SqlClient.SqlCommand(strsql, SqlConn)
SqlComm.ExecuteNonQuery()
SqlConn.Close()
SqlConn.Dispose()
Return ("创建新的数据库成功 " & fName)
Catch ex As Exception
If Not (SqlConn.State = ConnectionState.Closed) Then SqlConn.Close()
Return (ex.ToString)
End Try
Else
Return ("连接到 SQL Server 失败 " & fName)
End If
End Function