标签: sqldatasource

将sqldatasource结果绑定到文本框C#

我有一个SqlDataSource,它为ID返回1个字段(1行)。我想获得该结果并将其显示在TextBox中。我通常会使用存储过程来执行此操作(因为已经创建了存储过程),但是我认为SqlDataSource会更容易。有没有一种方法可以将该结果绑定到我的TextBox上?

<asp:SqlDataSource ID="ds1" runat="server"
    ConnectionString="<%$ ConnectionStrings:conn1%>"
    ProviderName="<%$ Connectionstrings:conn1.ProviderName %>"
    SelectCommand="sp_1"
    SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:Parameter Name="accountID" Type="Int32" />
        <asp:Parameter Name="activitydate" Type="DateTime" Direction="Output" />
    </SelectParameters>
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)

c# asp.net data-binding sqldatasource

2
推荐指数
1
解决办法
1万
查看次数

如何在数据绑定后隐藏gridview列?

我使用以下链接中的解决方案隐藏我的列

如何隐藏GridView中的TemplateField列

但是,这会导致更新操作出现问题,因为gridview充当隐藏行具有null值.那么如何在数据绑定后隐藏列?

protected void begv_OrderDetail_RowCreated(object sender, GridViewRowEventArgs e)
{
    ((DataControlField)begv_OrderDetail.Columns.Cast<DataControlField>().Where(fld => fld.HeaderText == "FileNo").SingleOrDefault()).Visible = "False";
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview sqldatasource

2
推荐指数
1
解决办法
1万
查看次数

asp页面中的update命令不起作用

好的,我已经通过使用更新参数解决了我的最后一个问题,并将模板字段放在我的网格视图上而不是绑定字段上。

\n\n

显示正常,唯一的问题是更新按钮似乎不起作用。当我单击它时,它只是返回到上一个窗口,而不更新数据库中的数据字段。

\n\n

你能看一下下面的代码并告诉我我是否错过了什么吗?谢谢....

\n\n

在职的:

\n\n
 <asp:GridView DataKeyNames="BenutzerID" ID="grdBenutzer" runat="server" Visible="False" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" OnRowCommand="GridView1_RowCommand">\n            <Columns>\n                <asp:BoundField ReadOnly="true" DataField="BenutzerID" HeaderText="ID" />\n                <asp:TemplateField HeaderText="Titel">\n                    <ItemTemplate>\n                        <%# Eval("Titel")%>\n                    </ItemTemplate>\n                    <EditItemTemplate>\n                        <asp:TextBox runat="server" ID="txtTitel" Text=\'<%# Bind("Titel")%>\'></asp:TextBox>\n                    </EditItemTemplate>\n                </asp:TemplateField>\n                <asp:TemplateField HeaderText="Bezeichnung">\n                    <ItemTemplate>\n                        <%# Eval("Bezeichnung")%>\n                    </ItemTemplate>\n                    <EditItemTemplate>\n                        <asp:DropDownList AppendDataBoundItems="true" runat="server" ID="ddwnBezeichnung" Text=\'<%# Bind("Bezeichnung")%>\'>\n                            <asp:ListItem Text="Mitarbeiter" Value="Mitarbeiter"></asp:ListItem>\n                            <asp:ListItem Text="Praktikant" Value="Praktikant"></asp:ListItem>\n                            <asp:ListItem Text="Azubi" Value="Azubi"></asp:ListItem>\n                            <asp:ListItem Text="Umsch\xc3\xbcler" Value="Umsch\xc3\xbcler"></asp:ListItem>\n                        </asp:DropDownList>\n                    </EditItemTemplate>\n                </asp:TemplateField>\n                <asp:TemplateField HeaderText="Vorname">\n                    <ItemTemplate>\n                        <%# Eval("Vorname")%>\n                    </ItemTemplate>\n                    <EditItemTemplate>\n                        <asp:TextBox runat="server" ID="txtVorname" Text=\'<%# Bind("Vorname")%>\'/>\n                    </EditItemTemplate>\n                </asp:TemplateField>\n                <asp:TemplateField HeaderText="Nachname">\n …
Run Code Online (Sandbox Code Playgroud)

asp.net sqldatasource templatefield updatecommand

2
推荐指数
1
解决办法
2750
查看次数

在 ControlParameter 中找不到控件 ID

我试图从文本框中插入值,但收到错误消息,无法在控制参数中找到 controlid。TextBox 位于表单视图内,而表单视图位于列表视图内。SqlDataSource 位于 ListView 之外。

我的 InsertButton_Click 方法

protected void InsertButton_Click(object sender, EventArgs e)
    {

        var ctrl = (Control)sender;
        var formview = (FormView)ctrl.NamingContainer;
        formview.ChangeMode(FormViewMode.Insert);
        SectionListView.DataSource = SectionDataSource;
        SectionListView.DataBind();

    }
Run Code Online (Sandbox Code Playgroud)

插入项目模板

<InsertItemTemplate>
    <tr style="">
        <td>
           <div style="font-size: .8em;">
               <asp:FormView ID="SectionFormView" runat="server" DataKeyNames="SectionItemID" DataSourceID="SectionDataSource">
                   <ItemTemplate>
                       <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" OnClick="InsertButton_Click" Font-Size="1.2em" />
                       <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" Font-Size="1.2em" />
                       <asp:Label ID="SectionItemLabel" runat="server" Text="SectionItem" Font-Bold="true" Font-Size="1.2em" />
                       <asp:TextBox ID="SectionItemTextBox" runat="server" />
                       <asp:Label ID="SectionItemSubLabel" runat="server" Text="SectionItem Label" Font-Bold="true" Font-Size="1.2em" />
                       <asp:TextBox ID="SectionItemLabelTextBox" …
Run Code Online (Sandbox Code Playgroud)

asp.net sqldatasource controlparameter sql-insert

2
推荐指数
1
解决办法
5067
查看次数

使用带参数的存储过程修改 SqlDataSource.SelectCommand

我正在尝试在我的应用程序中创建一个搜索框,为此我需要修改 SqlDataSource.SelectCommand。我将不胜感激任何帮助!

为了进行测试,我这样做了,它可以工作,但很容易受到 sql 注入的攻击

   SqlDataSource1.SelectCommand = "sp_offer_search '" + txtSearch.Text + "', " +   Session["customerId"] + " , '" + "Pending"+ "'";
   GridView1.DataBind();
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所尝试的,但它不起作用:

 if (txtSearch.Text != "")
        {                
         //open connection
          oCn.Open();
          SqlCommand com = new SqlCommand(query, oCn);
          com.CommandType = CommandType.StoredProcedure;

          com.Parameters.AddWithValue("@Variable", txtSearch.Text);  
          com.Parameters.AddWithValue("@CustomerId",Session["customerId"]);   
          com.Parameters.AddWithValue("@Status", txtStatus.Text);   


            DataTable dt = new DataTable();
            dt.Load(com.ExecuteReader());

            SqlDataSource1.SelectCommand = dt.ToString();
            GridView1.DataBind();
       }
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server sqldatasource

2
推荐指数
1
解决办法
848
查看次数

在C#中的代码中编写SQLdatasource以使用值后面的代码

我正在尝试使用基于参数化输入的SQL数据源填充数据表.棘手的是,参数化输入的值仅在后面的代码中可用,所以我被迫在页面代码中编写SQL数据源

我该怎么做(我使用的是C#和ASP.Net 4.0)

asp.net页面中创建sql数据源连接的当前代码是:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:LicensingConnectionString %>" 
        SelectCommand="SELECT * FROM [commissions] where username=@username "></asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)

我希望在@username中使用的值在此代码后面的代码中检索

IPrincipal p = HttpContext.Current.User;
        // p.Identity.Name : this is what we will use to call the stored procedure to get the data and populate it
        string username = p.Identity.Name;
Run Code Online (Sandbox Code Playgroud)

谢谢 !

c# asp.net sqldatasource entity-framework-4

1
推荐指数
1
解决办法
8138
查看次数

网址问题中的标签

我有一个填充另一个页面的查询字符串参数,当该参数以主题标签 # 开头时就会出现问题

例如:mysitepage/Details?param=#456

当然,发生这种情况是因为 url 中的主题标签结束了请求。问题是这些是来自数据库的 ID,无法更改。除了使用查询字符串之外,是否有任何解决办法可以告诉我。

编辑1-

我意识到我正在对问题所在的整个网址进行编码。现在我只做参数部分,但现在似乎使参数静态而不是动态:

例子 :

String.Format("mysite.com?param="+Server.UrlEncode({0}), Eval("param")) 
Run Code Online (Sandbox Code Playgroud)

基本上它对大括号中的 0 进行编码,而不是实际的评估值

asp.net sqldatasource query-string

1
推荐指数
1
解决办法
4292
查看次数

SqlParameter中DbType和Type有什么区别?

你能解释一下数据源参数中Type和DbType的区别吗?分配这两个属性的最佳实践是什么?

asp.net sqldatasource

1
推荐指数
1
解决办法
3278
查看次数

除非指定了 DeleteCommand,否则数据源“SqlDataSource1”不支持删除

我有一个 ASP 按钮链接,GridView1点击后应该从数据库表中删除一个项目,我收到以下错误消息:

Deleting is not supported by data source 'SqlDataSource1' unless DeleteCommand is specified. 
Run Code Online (Sandbox Code Playgroud)

这是代码:

网络

Protected Sub GridView1_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GridView1.RowCommand


    If e.CommandName.Equals("Delete") Then


        Dim rowIndex As Integer = Convert.ToInt32(e.CommandArgument)
        Dim rowID As String = e.CommandArgument.ToString()
        Dim conn As New SqlConnection("Data Source=BRIAN-PC\SQLEXPRESS;Initial Catalog=master_db;Integrated Security=True;")
        Dim cmd As New SqlCommand("DELETE content WHERE content_id=@rowID", conn)

        cmd.Parameters.AddWithValue("@rowID", rowID)

        conn.Open()
        cmd.ExecuteNonQuery()
        conn.Close()


    End If

End Sub
Run Code Online (Sandbox Code Playgroud)

ASP

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None" ViewStateMode="Enabled"> …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net gridview sqldatasource sql-server-2012

1
推荐指数
1
解决办法
2万
查看次数

将参数分配给sqldatasource

我正在尝试从SQL Server获取数据并在formview中使用它,但formview控件不会从数据源获取任何数据.

(数据源在页面加载时获取参数)

输出只是:"这里没什么可看的"和一张空表.

这是datasource和formview标签:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:igroup20_test2ConnectionString %>" 
        SelectCommand="SELECT * FROM [member] where ([id] = @idd)">
   <SelectParameters>
       <asp:Parameter Name="idd" Type="String" />
   </SelectParameters>
</asp:SqlDataSource>

<asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="id">
   <EmptyDataTemplate>
   There is nothing to see here.
   </EmptyDataTemplate>
   <ItemTemplate>
      <table>
         <tr>
            <td>
               <asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>
            </td>
            <td>
               <asp:Label ID="Label2" runat="server" Text='<%# Eval("f_name") %>'></asp:Label>
            </td>
         </tr>
      </table>
   </ItemTemplate>
</asp:FormView>
Run Code Online (Sandbox Code Playgroud)

这是我的代码背后:

 protected void Page_Load(object sender, EventArgs e)
 {
        SqlDataSource1.SelectParameters.Add("@idd", "077763554");
        FormView1.DataBind();
 }
Run Code Online (Sandbox Code Playgroud)

c# asp.net formview sqldatasource

1
推荐指数
1
解决办法
2万
查看次数