2012-05-16 62 views
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(); 
} 

回答

1

OK,然後是你的前綴,在你的SELECT語句可能是錯誤的

@BadgeNum 

VS

:BadgeNum 
+1

這種變化以下服務器錯誤導致頁面崩潰: 異常詳細信息:System.Data.OracleClient.OracleException:ORA-01036:非法變量名稱/編號 –

+0

實際上,我通過從上面刪除部分獲得了相同的錯誤。我認爲這個價值實際上正在通過,除非Oracle數據庫處理它很難。 –

+0

這樣做!非常感謝。你不知道我花了多少時間在這個愚蠢的小錯誤上。 –

相關問題