删除在我的数据源中不受支持?我如何激活它?

问题描述:

我刚刚从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

,您可以调用存储过程,如果你已经创建了一个象下面这样:

<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“> asp:SqlDataSource>'我需要做一些类似的事情说,但只是为了删除。但是如何? – 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

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