2
我很喜歡與這類事情一起工作,所以如果我的問題太容易了,請原諒我。我一直在嘗試一段時間,並且搜索了我能找到的每篇相關文章,但是我無法讓我的代碼正常工作。將字符串通過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();
}
這種變化以下服務器錯誤導致頁面崩潰: 異常詳細信息:System.Data.OracleClient.OracleException:ORA-01036:非法變量名稱/編號 –
實際上,我通過從上面刪除部分獲得了相同的錯誤。我認爲這個價值實際上正在通過,除非Oracle數據庫處理它很難。 –
這樣做!非常感謝。你不知道我花了多少時間在這個愚蠢的小錯誤上。 –