sqldatasource 相关问题

SqlDataSource控件使您可以使用Web控件访问位于关系数据库中的数据,包括Microsoft SQL Server和Oracle数据库。 SqlDataSource控件使用ADO.NET类与ADO.NET支持的任何数据库进行交互。您可以将SqlDataSource控件与其他显示数据的控件一起使用,例如GridView,FormView和DetailsView控件,以使用很少或没有代码来显示和操作数据。

ASP.NET SqlDataSource.Select() 未选择

我有以下SqlDataSource: 我有以下SqlDataSource: <asp:SqlDataSource ID="DataSourcePFEP" runat="server" OnSelecting="DataSourcePFEP_Selecting" OnSelected="DataSourcePFEP_Selected" ConnectionString="<%$ ConnectionStrings:DALI %>" ProviderName="Oracle.ManagedDataAccess.Client" CancelSelectOnNullParameter="false"> <SelectParameters> <asp:SessionParameter Name="PlantID" SessionField="PlantID" /> <asp:QueryStringParameter Name="ProductionLine" QueryStringField="Line" ConvertEmptyStringToNull="true" /> <asp:SessionParameter Name="ProductionLine" SessionField="ProductionLine" /> </SelectParameters> </asp:SqlDataSource> 它是 GridView 的数据源,并且可以毫无问题地填充它。但是当我尝试使用它通过调用后面代码中的 .Select() 方法来获取相同的数据时,它不会返回任何内容。 DataRow Part = ((DataView)DataSourcePFEP.Select(new DataSourceSelectArguments())).ToTable().Select("Material = '" + CommandArguments[0] + "' AND SupplierID = '" + CommandArguments[1] + "'")[0]; 如您所见,它获取 .Select() 的结果,通过 .ToTable() 将其转换为 DataTable,然后使用 DataTable 的另一个 .Select 选择我需要的行。但当尝试转换 DataSourcePFEP.Select() 的结果时,它会抛出空引用错误。 问题是,即使我调用 .Select(),但实际上似乎没有发生任何选择。我添加了 OnSelecting 和 OnSelected 方法进行测试,它们根本不触发(即使它们在填充 GridView 时在常规 Page_Load 期间触发。 那么为什么 SqlDataSource.Select() 根本不触发? 好吧,经过一番实验,看起来我需要在调用 SqlDataSource 上的 Select() 之前再次设置 SelectCommand。 我不明白为什么,因为它已经在 Page_Load 期间设置了。 SqlDataSource 填充 GridView 后,SelectCommand 是否会因某种原因被清除? 我不明白。无论如何,这种方式似乎可行。我只需要再次设置 SelectCommand 即可。

回答 1 投票 0

如何在GridView EditTemplate中设置DropDownList的SelectedValue

我正在尝试按照之前的要求执行此操作。我发现的唯一区别是上面代码中包含的附加列表项。 我尝试使用 AppendDataBoundItems=true 但它仍然不起作用...

回答 6 投票 0

ASP.NET C#:带有存储过程和参数的 SqlDataSource

我正在尝试使用存储过程和参数以编程方式编码 SqlDataSource。后来我想将此 SqlDataSource 分配给列表框作为数据源。但是我收到错误...

回答 3 投票 0

如何为SqlDataSource UpdateCommand设置参数

对于网格视图: 我第一次尝试在 SQLDataSource 中为 UpdateCommand 使用存储过程: 对于网格视图: 我第一次尝试在 SQLDataSource 中为 UpdateCommand 使用存储过程: <asp:SqlDataSource ID="TECT_DataSource" runat="server" ConnectionString="<%$ ConnectionStrings:OracleConnectionString %>" ProviderName="<%$ ConnectionStrings:OracleConnectionString.ProviderName %>" SelectCommand="SELECT MPID, User_Id, Last_Name, First_Name FROM Scripts.vw_Tect_Exam" UpdateCommand="P_TECT_UPD_EXAM_ID" UpdateCommandType="StoredProcedure"> <UpdateParameters> <asp:Parameter Name="MPID" Type="Int32" /> <asp:Parameter Name="User_Id" Type="String" /> </UpdateParameters> </asp:SqlDataSource> 我想知道 UpdateParameters 如何设置它们的值,因为我只指定了一个名称? 过程 P_TECT_UPD_EXAM_ID 需要两个参数作为输入:"in_MPID" 和 "in_UserId" 我还想知道如何将这些值映射到过程的输入参数,因为名称不同? 你可以这样设置它们: 示例:示例中 MPID 是 sql 参数名称@MPID <UpdateParameters> <asp:ControlParameter Name="MPID" ControlID="MPID_TextBox" PropertyName="Text" /> <asp:ControlParameter Name="User_Id" ControlID="User_Id_TextBox" PropertyName="Text" /> </UpdateParameters> 更正:刚刚发现你的过程参数名称,所以它一定是 <asp:ControlParameter Name="in_MPID" ............... <asp:ControlParameter Name="in_User_Id" ............... 我真的不会使用SqlDataSource。如果您在代码隐藏中(或者更好的是在数据访问层中)调用数据库,则会容易得多。 如果您使用 SqlDataSource,则存储过程调用将仅在该页面上可用。每次您想要拨打相同的电话时,您都必须复制并粘贴 SqlDataSource 或从中创建 UserControl。 以下示例使用实体框架连接到数据库并检索记录: public List<Record> GetAllRecordsByUserName(string credentials) { List<Record> recordList; using (CustomEntities context = new CustomEntities()) { IQueryable<Section> recordQuery = from records in context.Records where records.UserName == credentials select records; recordList = recordQuery.ToList<Record>(); } return recordList; }

回答 2 投票 0

SqlDataSource FilterParameters 和 FilterExpression 不适用于空字符串

我有一个 SqlDatasource,我以编程方式为其创建 SelectCommand。一般来说,SqlDataSource 工作正常,但是当我给它 FilterParameters 和 FilterExpression 时,事情就会出错。

回答 3 投票 0

名称“SqlDataSourceEnumerator”在当前上下文中不存在

在 Visual Studio 中的 C# .net 5 程序中,我正在测试使用 SqlDataSourceEnumerator 的代码 公共静态列表 LocateSqlInstances() { 列表

回答 2 投票 0

asp.net VB 需要为Listview或SQL Insert设置默认值

希望我能说清楚。我有: 带有 sql 数据源的列表视图 一个单独的下拉列表,当选择某些内容时会过滤列表视图/sqldatasoure 我想做的是使用 fr 的值...

回答 2 投票 0

VB.net - 在 SQL 更新命令中传递自定义参数

我正在使用 Gridview 和 SQLDataSource 选择/插入/更新命令。它适用于使用 Gridview 更新或更改值。然而最近我添加了另一个使用 Javascript 的插件

回答 2 投票 0

代码后面的Databind()永远不会到达数据库

我的 FormView 不会进行数据绑定。我没有收到任何错误,所有元素都正确找到,当我单步执行代码时,一切看起来都按预期工作。选择参数已设置并且 FormV...

回答 1 投票 0

根据登录的用户更改 SqlDataSource SelectCommand

我有一个现有的 SqlDataSource,但查询需要根据登录用户进行更改。 我有一个现有的 SqlDataSource,但查询需要根据登录用户进行更改。 <asp:SqlDataSource ID="SqlDataSource1" runat="server" SelectCommand="SELECT [id], [text] FROM [tblLinks]" 伪代码: If user = "john.doe" Then SelectCommand="SELECT [id], [text] FROM [tblLinks] WHERE text <> 'Admin'" Else SelectCommand = "SELECT [id], [text] FROM [tblLinks]" 这是我获取当前登录用户的代码: System.Web.HttpContext.Current.User.Identity.Name.Split("\\").Last() 您可以更改 SelectCommand 属性,就像更改后面代码中的任何其他属性一样... Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If (user = "john.doe") Then SqlDataSource1.SelectCommand = "SELECT [id], [text] FROM [tblLinks] WHERE text <> 'Admin'" Else SqlDataSource1.SelectCommand = "SELECT [id], [text] FROM [tblLinks]" End If End Sub 如果这有帮助,我想你最好回顾一下 select...case statement https://msdn.microsoft.com/en-us/library/cy37t14y.aspx

回答 2 投票 0

ASP.NET - 带 SQL 数据源保管箱的 Web 表单未将文本发布到文件

部门 Department<br /> <asp:DropDownList ID="DeptDrop_1" runat="server" DataSourceID="SqlDataSource_VMFG1" DataTextField="ID" DataValueField="ID"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource_VMFG1" runat="server" ConnectionString="<%$ ConnectionStrings:VMFGConnectionString %>" SelectCommand="SELECT [ID] FROM [DEPARTMENT]"></asp:SqlDataSource> 这是新事物,所以要温柔。基本上,我想做的是获取表单,直接从我们的 ERP 数据库加载给定员工的可能部门列表 - 这样我就可以确定它是最新的。 从视觉上看,保管箱似乎可以工作,它会拉出所需的列并使选项在表单中可用。 但是这里的真正的最终目标是让表单内容发布到文本文件,并且无论出于何种原因(可能是我在代码隐藏中声明它的方式),它都不会将保管箱的内容发布到容器文件。 它只是留下一个空白。 这是隐藏的代码(有人建议我发布更多内容 - 如果其中大部分内容不相关,我深表歉意): Protected Sub SUBMIT_1_Click(sender As Object, e As EventArgs) Handles SUBMIT_1.Click Dim Message As String = "" Dim Emp_Name As String = "" Dim Emp_ID As String = "" Dim DTPick_TI As String = "" Dim DTPick_TO As String = "" Dim TypeDropList1 As String = "" Dim Department As String = "" Dim LdmSup_1 As String = "" Dim AdjReason_1 As String = "" Department = DeptDrop_1.SelectedItem.Value Dim fso Dim tst fso = Server.CreateObject("Scripting.FileSystemObject") tst = fso.OpenTextFile("C:\Users\01853\Documents\Visual Studio 2010\Projects\IntranetForms2\IntranetForms2\Output\reading.txt", 2) tst.writeline("Emp_Name = " & Request.Form("Emp_Name")) tst.writeline("Emp_ID = " & Request.Form("Emp_ID")) tst.writeline("Time_In = " & Request.Form("DTPick_TI")) tst.writeline("Time_Out = " & Request.Form("DTPick_TO")) tst.writeline("Type of Correction = " & Request.Form("TypeDropList1")) tst.writeline("Department = " & Request.Form("Department")) tst.writeline("Leadman/Supervisor = " & Request.Form("LdmSup_1")) tst.writeline("Reason/Comment = " & Request.Form("AdjReason_1")) tst.close() tst = Nothing fso = Nothing Message = "Your Clock Adjustment Request has been sent to Human Resources. Thank you." Notify_1.Text = Message End Sub 这可能是一个非常明显的答案,但我在寻找答案时遇到了问题(可能我不知道足够的行话来有效搜索)。 嗨,如果您使用下拉列表对象,则需要读取下拉列表的值,如下所示 DropDownList1.SelectedItem.Text 或 DropDownList1.SelectedItem.Value 要存储文件,您需要一个共享位置并使用 unc 路径,安装应用程序的服务器中不会有该位置。

回答 1 投票 0

SqlDataSource InsertCommand 和 UpdateCommand 抛出“非法变量名称/编号””

我正在尝试通过SqlDataSource插入和更新表 我正在尝试通过 SqlDataSource 插入和更新表 <asp:SqlDataSource ID="SqlDataSource1" OnSelecting="SqlDataSource1_Selecting" runat="server" ConnectionString="<%$ ConnectionStrings:ORAConnString %>" ProviderName="<%$ ConnectionStrings:ORAConnString.ProviderName %>" SelectCommand="SELECT DEPT_NAME,CATEGORY_NAME FROM SDIX_TCKT_CATEGORY" InsertCommand="Insert into SDIX_TCKT_CATEGORY (DEPT_NAME,CATEGORY_NAME,MODIFIED_BY,MODIFIED_DTTM) values(:DEPTNAME,:CATEGORYNAME,'','')" UpdateCommand="Update SDIX_TCKT_CATEGORY set CATEGORY_NAME=:CATEGORYNAME,MODIFIED_BY='',MODIFIED_DTTM=SYSDATE where(DEPT_NAME=:DEPTNAME) " > <InsertParameters> <asp:Parameter Name="DEPTNAME" /> <asp:Parameter Name="CATEGORYNAME" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="DEPTNAME" /> <asp:Parameter Name="CATEGORYNAME" /> <asp:Parameter Name="MODIFIED_BY" /> <asp:Parameter Name="MODIFIED_DTTM" /> </UpdateParameters> </asp:SqlDataSource> 插入新记录时需要为MODIFIED_BY、MODIFIED_DTTM插入空值吗? 更新表中的记录时需要更新userid(需要从代码后面获取)和sysdate? 提前致谢。感谢任何帮助...! DBNull.value而不是'' 或者干脆不指定空参数。 编辑1: 我告诉你使用 DBNull.value 但我忘了我是通过代码使用它的 es。 YourSqlcommand.Parameters.AddWithValue("@ParameterName", DBNull.value) 所以在你的sql更新或插入中你可能必须使用SqlNULL: Insert into SDIX_TCKT_CATEGORY (DEPT_NAME,CATEGORY_NAME,MODIFIED_BY,MODIFIED_DTTM) values(:DEPTNAME,:CATEGORYNAME,NULL,NULL)

回答 1 投票 0

无法动态更改 SelectCommand 内容

我在尝试动态更改 SelectCommand 内容时遇到问题。 有一个 Telerik 搜索框控件,它使用 SQLDataSource 通过选择查询不断地敲击数据库并显示......

回答 1 投票 0

我想通过编辑我的 SqlDataSource 根据从 DropDownList 中选择的值来更新 GridView

我试图通过更新 SqlDataSource 上的 SelectCommand、清除 GridView,然后根据下拉列表中的值重新应用 GridView.DataBind() 来实现此目的。这不是...

回答 1 投票 0

ASP.NET - 在 ASP.NET 代码中对 SqlDataSource 进行参数化查询 - VB.NET / Visual Studio 2010

我正在从代码隐藏中为 ASP.NET 中的 SqlDataSource 创建查询。 我的代码如下: Dim SqlDataSource1 As New SqlDataSource() 将 SQL 变暗为字符串 ' 如果不是 IsPostBack 那么

回答 1 投票 0

ASP.NET VB 嵌套列表视图与内部列表视图的问题

我正在尝试制作嵌套列表视图。但内部列表视图没有显示。外部正在显示。 我有外部列表视图和内部列表视图。每个都有自己的sqldatasource。问题是我不能...

回答 1 投票 0

使用存储过程将两个数据源合并为 SSRS 报告中的一个数据源

我正在尝试构建 SSRS 报告,该报告将从两个不同的服务器获取数据。 我已经创建了一个存储过程,该过程在 Management Studio 中运行时工作正常,但存储过程相同

回答 1 投票 0

如何将“image1”绑定到aspxImage?

我有一个aspxImage,但我无法提供数据源。我需要绑定我的“image1”。您可以从 gridview 或 sqldatasource 获取它,没关系。如何将 image1 绑定到 aspxImage? 这里是...

回答 1 投票 0

如何默认所有 SqlDataSource 参数将空字符串转换为 null?

我有一个使用多个 FormView 和 SQLDataSource 的项目。我希望 SQLDataSource 的默认行为将空值插入为 null。我知道我可以通过 cr...

回答 4 投票 0

连接字符串中的“服务器”与“数据源”

我是 SqlServer 的新手,现在我安装了 SqlLocalDb 在本地工作。很好,但我通常可以看到两个连接字符串并且都有效: Data Source=(localdb) 11.0;Integrated Security=tr...

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.