したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

VBでつくられた2chブラウザ

3291 ◆ExGQrDul2E:2006/05/28(日) 00:51:04 ID:MziW6YcM
データベース構造のコピー実験

Dim TableName As String
TableName = "ACCESS"

Dim ConnectionString As String = "Data Source=.\sqlexpress;Initial Catalog=DATABASE.MDF;Integrated Security=SSPI;"
Dim SQL As String = "Select Top 1 * From " & TableName
Dim conn As New SqlConnection(ConnectionString)
Dim cmd As New SqlCommand(SQL, conn)
conn.Open()
Dim DR As SqlDataReader = cmd.ExecuteReader
DR.Read()
Dim schemaTable As DataTable = DR.GetSchemaTable()
Dim myRow As DataRow
Dim myCol As DataColumn
Dim SS As String = ""
Dim SQL2 As String
SQL2 = "Create Table " & TableName & " ("
For Each myRow In schemaTable.Rows
Dim c1 As Integer
If Not c1 = 0 Then
SQL2 += ","
End If
Dim DType As String = ""
Dim Size As Integer
For Each myCol In schemaTable.Columns 'AAAAAAAAAAAAAAAAAAAA
'SS = SS & myCol.ColumnName & " = " & myRow(myCol.ColumnName).ToString() & "<br>"

If myCol.ColumnName = "ColumnName" Then
SQL2 += myRow(myCol.ColumnName).ToString
End If

If myCol.ColumnName = "ColumnSize" Then
Size = myRow(myCol.ColumnName)
End If

If myCol.ColumnName = "DataType" Then
Select Case myRow(myCol.ColumnName).ToString
Case "System.String"
DType = "nvarchar"
SQL2 += " " & DType & "(" & Size & ")"
Case "System.Int64"
DType = "bigint"
SQL2 += " " & DType
Case "System.DateTime"

DType = "datetime"
SQL2 += " " & DType
End Select

End If
'サイズ取得のほうがタイプ取得より前なのでここに書くと失敗
'If myCol.ColumnName = "ColumnSize" Then
' If DType = "nvarchar" Then
' SQL2 += "(" & myRow(myCol.ColumnName).ToString & ")"
' Else
' End If
'End If

Next 'AAAAAAAAAAAAAAAAAAAA
SS += "----------------------------------------------" & "<br>"
c1 += 1
Next
SQL2 += ")"

DR.Close()
conn.Close()
Label3.Text = SQL2

Dim ConnectionString2 As String = "Data Source=(local);Initial Catalog=AoM;Integrated Security=SSPI;"
Dim conn2 As New SqlConnection(ConnectionString2)
Dim cmd2 As New SqlCommand(SQL2, conn2)
conn2.Open()
Dim num2 As Integer = cmd2.ExecuteNonQuery
conn2.Close()
'↑ここまでがコピー先データベースのテーブル設計が終わった段階である。つぎはデータのコピーを行う。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板