在我的Windows 7 Pro上運行的Visual Basic 2013 ASP.NET Web應用程序項目中,出現此錯誤每次我運行它。獲取SQL Server錯誤:「數據庫中已有一個名爲'<my table>'的對象。」當表不在數據庫中時
如果在運行之前刪除我的表,我的應用程序會創建表,但我會收到錯誤消息。
如果表在運行之前存在,則應用程序嘗試創建表,忽略錯誤並繼續,但是出現錯誤。
Page_Load
函數按預期的方式逐步完成,沒有錯誤,直到最後。
然後發生錯誤。
Imports System.Data.SqlClient
Public Class WebForm2
Inherits System.Web.UI.Page
Private ConnectionString As String = "Integrated Security=SSPI;" + "Initial Catalog=;" + "Data Source=localhost;"
Private reader As SqlDataReader = Nothing
Private conn As SqlConnection = Nothing
Private cmd As SqlCommand = Nothing
Private sql As String = Nothing
Public Const DEBUG_DEFAULT_CLIENT_ID = "NATIONS_BURGERS"
Public Const DEBUG_DEFAULT_JOB_ID = "FRY_COOK_2014_07_05"
Public client_ID
Public job_ID
Public client_job_table
' InitializeS the job application page.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' Initialize data:
client_ID = DEBUG_DEFAULT_CLIENT_ID
job_ID = DEBUG_DEFAULT_JOB_ID
client_job_table = client_ID + "_" + job_ID
' App selects client job table :
Dim command_successful =
ExecuteSQLStmt(" select * from " + client_job_table)
' Create table if it doesn't exist:
If Not command_successful Then
ExecuteSQLStmt("CREATE TABLE " + client_job_table + _
"(" + _
"FIRST_NAME varchar(255)," + _
"LAST_NAME varchar(255)," + _
"PHONE varchar(255)" + _
");")
End If
set_22_button.Visible = GridView1.Visible
set_333_button.Visible = GridView1.Visible
End Sub
' Sends sql command to ehires database.
Private Function ExecuteSQLStmt(ByVal sql As String)
' Open the connection
ConnectionString = "Data Source=<my IP>;Initial Catalog=<my database name>;Persist Security Info=True;User ID=Doug;Password=ThankYou!!"
Dim connection As New SqlConnection(ConnectionString)
connection.ConnectionString = ConnectionString
connection.Open()
cmd = New SqlCommand(sql, connection)
Dim command_successful = True
On Error Resume Next
cmd.ExecuteNonQuery()
If Err.Number Then
command_successful = False
Dim reason = Err.Description
Else
command_successful = True
End If
connection.Close()
Return command_successful
End Function 'ExecuteSQLStmt
你能發表ExecuteSQLStmt的代碼嗎?有些東西不清楚,爲什麼你輸入if條件,如果該表也存在於MASTER數據庫中 – Steve