将字符串通过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
这种变化以下服务器错误导致页面崩溃: 异常详细信息:System.Data.OracleClient.OracleException:ORA-01036:非法变量名称/编号 –
实际上,我通过从上面删除部分获得了相同的错误。我认为这个价值实际上正在通过,除非Oracle数据库处理它很难。 –
这样做!非常感谢。你不知道我花了多少时间在这个愚蠢的小错误上。 –