2011-05-09 42 views
2

我剛剛從Visual Studio 2005年,當我點擊了刪除命令我使用的界面,配置網格添加到我的GridView這樣的信息:刪除在我的數據源中不受支持?我如何激活它?

刪除不受數據 源「transactionsSqlDataSource」 支持除非指定了DeleteCommand。

我該如何激活?我希望我的用戶能夠在點擊刪除按鈕時刪除一行。

我已經將我的SQLDataSource的屬性DeleteCommandType更改爲StoredProcedure。 我還需要做什麼?

UPDATE

這是我做的,但我失去了一些東西,我不能編譯:

這就是我所做的的.cs:

public string DeleteCommand { get; set; } 

如何我能解決這個問題嗎?它說那個get缺少身體。我不使用ASP.NET。你能幫我解決這部分代碼嗎?

這就是我所做的的.aspx:

<asp:SqlDataSource ID="transactionsSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:membershipsDBConnectionString %>" 
     SelectCommand="SELECT [brukerId], [kjoptekvoten], [pengeneutbetalt], [fyringsolje], [biltype], [kjoptid] FROM [Informasjon]" DeleteCommandType="StoredProcedure" 
     DeleteCommand="DELETE FROM [Informasjon] WHERE fyringsolje='Kull: 2,42 kg';"> 
    </asp:SqlDataSource> 

是對數據源正確的配置?不要擔心,如果你看到delete命令不使用像上面那樣的參數,那只是爲了作業(我只需要查詢通過)。

UPDATE 2 我一直在嘗試,但我無法修復它。我在ASP.NET中是新手,我對所有術語都不太熟悉。到底發生了什麼?我怎麼能知道我的存儲過程?:

CS的名字:

public string DeleteCommand { get { return DeleteCommand; } set { DeleteCommand = "";} 

.aspx的:需要

<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:membershipsDBConnectionString %>" 
     DeleteCommandType="StoredProcedure" SelectCommand="SELECT [id], [kjoptekvoten], [pengeneutbetalt], [fyringsolje], [biltype], [kjoptid] FROM [Informasjon]" 
     DeleteCommand="StoredProcedureName"> 
    </asp:SqlDataSource> 

當我點擊刪除該行從表Informasjon刪除 Screenshot of GridView

+0

您是否設置了DeleteCommand,它告訴您? =) – 2011-05-09 09:55:16

+0

指定它必須執行的StoredProcedure(刪除時)? – Ruben 2011-05-09 09:55:29

+0

@J。 Steen你的意思是刪除查詢? – sfrj 2011-05-09 10:08:14

回答

2

,您可以調用存儲過程,如果你已經創建了一個象下面這樣:

<asp:SqlDataSource ID="SqlDataSource5" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    // in the select command or your case delete you just input the name instead of a query 
    SelectCommand="SELECT * FROM [Table] WHERE [Column1][email protected] AND [Column2][email protected] AND [Column3][email protected];" 
    DeleteCommand="StoredProcedureName" 
    // Then ofcourse put the commandtype on storedprocedure but you already have that 
    DeleteCommandType="StoredProcedure"> 
    // And you can declare the parameters like below 
    <SelectParameters> 
     <asp:Parameter Name="Parameter1" Type="String" /> 
     <asp:Parameter Name="Parameter2" Type="Boolean" /> 
     <asp:Parameter Name="Parameter3" Type="String" /> 
     <asp:Parameter Name="Parameter4" Type="Boolean" /> 
    </SelectParameters> 
    <DeleteParameters> 
     <asp:Parameter Name="Parameter1" Type="String" /> 
    </DeleteParameters> 
</asp:SqlDataSource> 

有關storedprocedures更多信息,請閱讀:What is a stored procedure? 或者你也可以直接撥打查詢像下面的例子:

<asp:SqlDataSource ID="SqlDataSource5" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT * FROM [informasjon];" 
    DeleteCommand="DELETE FROM [informasjon] WHERE [id][email protected];"> 
    <DeleteParameters> 
     <asp:Parameter Name="id" Type="Int" /> 
    </DeleteParameters> 
</asp:SqlDataSource> 

連接字符串是你必須爲自己提供的。有關連接字符串的更多信息,請閱讀:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx

+0

對不起,但我仍然困惑。這是我的代碼目前的樣子: '」 SelectCommand =「SELECT [brukerId],[kjoptekvoten] ,[pengeneutbetalt],[fyringsolje],[biltype],[kjoptid] FROM [Informasjon]「DeleteCommandType =」StoredProcedure「OnSelecting =」transactionsSqlDataSource_Selecting「> '我需要做一些類似的事情說,但只是爲了刪除。但是如何? – sfrj 2011-05-09 11:27:31

+0

如果添加標記DeleteCommand =「StoredProcedureName」它將使用指定的存儲過程。並且您的存儲過程需要的所有參數都應該像我在上面的示例中那樣添加 – Ruben 2011-05-09 11:29:37

+0

我不知道我的StoreProcedure的名稱是什麼。我在哪裏可以檢查?我在任何地方都找不到。 – sfrj 2011-05-09 11:35:39

5
DeleteCommand="<your stored proc>" 

,需要在你的SqlDataSource你想要的任何參數,例如沿:

<DeleteParameters> 
    <asp:Parameter Name="myParameter" Type="Int32" /> 
</DeleteParameters> 

這需要在SqlDataSource的標籤添加。

+0

缺少什麼?我需要做參數嗎?我可以讓它與他們合作嗎?查看更新。 – sfrj 2011-05-09 10:37:30

+0

不需要使用參數,除非您需要它們,並且不需要在.cs文件中使用DeleteCommand字符串。什麼是編譯器錯誤? – Crypth 2011-05-09 10:48:22

相關問題