2012-05-10 108 views
0

我試圖通過使用insert命令在數據庫中添加一行。爲什麼Insert命令刪除數據庫中的舊行

它成功添加行,但數據庫中的舊行在執行命令後被刪除!

Dim connetionString As String 
        Dim cnn As SqlConnection 
        Dim cmd As SqlCommand 
        Dim sql As String 
        connetionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Datab1.mdf;Integrated Security=True;User Instance=True" 


        sql = "INSERT INTO Table1 VALUES ('e', 'e')"  


        cnn = New SqlConnection(connetionString) 
        Try 
            cnn.Open() 
            cmd = New SqlCommand(sql, cnn) 
            cmd.ExecuteNonQuery()  

            cmd.Dispose() 
            cnn.Close() 
            MsgBox(" ExecuteNonQuery in SqlCommand executed !!") 
        Catch ex As Exception 
            MsgBox(ex.Message) 
        End Try 

出了什麼問題?

+0

你是不是看錯數據庫?你的連接字符串附加Datab1.mdf,也許這不是你插入後檢查的數據庫? –

回答

1

找到在此表上創建的觸發器,這會導致刪除舊行。

enter image description here

如果你想快速名單下跌在你的數據庫觸發器表,這裏是如何做到這一點:

USE [YourDB] 

SELECT 

OBJECT_NAME(parent_id) AS TableName, 

name AS TriggerName, 

create_date AS CreationDate, 

modify_date AS ModifyDate 

FROM sys.triggers 
+0

男人你是什麼意思..我不明白你 – ebrahim

+0

有可能在這個表上存在觸發器,當你從.net代碼執行插入語句時,這個觸發器會自動被觸發。因此,請執行我的帖子中提供的查詢,並檢查是否創建了任何觸發器。 –

+0

你找到了罪魁禍首的觸發器嗎?隨意問你是否還有問題。 –

相關問題