将字符串通过C#代码传递给.ASPX中的SQL

问题描述:

我很喜欢与这类事情一起工作,所以如果我的问题太容易了,请原谅我。我一直在尝试一段时间,并且搜索了我能找到的每篇相关文章,但是我无法让我的代码正常工作。将字符串通过C#代码传递给.ASPX中的SQL

我想从'BadgeNum.Text'通过另一端的参数传递一个字符串,并让它执行查询。我无法获得正确传递的值,因此无法获取任何记录以显示出我的查询。我使用硬编码数据多次测试了查询,并且它工作正常。

在这里的任何帮助将不胜感激。

<asp:SqlDataSource ID="GridDataSource" runat="server" 
      ConnectionString="<%$ ConnectionStrings:Oracle1TestString %>" 
      ProviderName="<%$ ConnectionStrings:Oracle1TestString.ProviderName %>" 
      SelectCommand="SELECT MODEL_NUMBER, SERIAL_NUMBER, DEFECT_CODE, RECORD_DATE, RECORD_TIME, PRODUCTION_DATE, AUDIT_TYPE FROM AUDITENT WHERE AUDITOR_BADGE = @BadgeNum" 
      onselecting="GridDataSource_Selecting"> 

      <SelectParameters> 
       <asp:Parameter Name="BadgeNum" Direction="Input" DbType="String" /> 
      </SelectParameters> 
     </asp:SqlDataSource> 

这里是后面的代码(C#):

protected void Page_Load(object sender, EventArgs e) { 

     BadgeNum.Text = "0205096"; 
     Parameter badge = new Parameter(); 
     badge.DefaultValue = BadgeNum.Text; 
     badge.Type = TypeCode.String; 
     badge.Name = "BadgeNum"; 
     GridDataSource.SelectParameters.Add(badge); 
     GridDataSource.DataBind(); 
} 

OK,然后是你的前缀,在你的SELECT语句可能是错误的

@BadgeNum 

VS

:BadgeNum 
+1

这种变化以下服务器错误导致页面崩溃: 异常详细信息:System.Data.OracleClient.OracleException:ORA-01036:非法变量名称/编号 –

+0

实际上,我通过从上面删除部分获得了相同的错误。我认为这个价值实际上正在通过,除非Oracle数据库处理它很难。 –

+0

这样做!非常感谢。你不知道我花了多少时间在这个愚蠢的小错误上。 –