[英]Passing textbox value to a sql statement
我需要根據從一個表單到方法表單的兩個文本框的值來顯示數據。
下面是我的代碼提取我的兩個值工作正常:
txtfrom.Text = dtResults.Rows[0]["asset_open_per"].ToString();
this.txtto.Text = DateTime.Today.ToString("yyyyMM");
現在,我有兩個值,我將需要這些在sql語句中的where子句,sql語句如下:
public static DataTable GetPostings2(string AssetNumberV, string PeriodFromV, string PeriodToV)
{
DataTable dtGetPostings2;
try
{
dtGetPostings2 = new DataTable("GetPostings");
SqlParameter AssetNumber = new SqlParameter("@AssetNumber", SqlDbType.VarChar, 6);
AssetNumber.Value = AssetNumberV;
SqlParameter PeriodFrom = new SqlParameter("@PeriodFrom", SqlDbType.VarChar, 6);
PeriodFrom.Value = txtfrom;
SqlParameter PeriodTo = new SqlParameter("@PeriodTo", SqlDbType.VarChar, 6);
PeriodTo.Value = frmAsset.txtto;
SqlCommand scGetPostings2 = new SqlCommand("SELECT * FROM [POSTING] WHERE [ASSET_NO] = @AssetNumber And PERIOD >= @PeriodFrom AND PERIOD <= @PeriodTo ORDER by PERIOD, JOUR_REF, JOUR_LINE", DataAccess.AssetConnection);
scGetPostings2.Parameters.Add(AssetNumber);
scGetPostings2.Parameters.Add(PeriodFrom);
scGetPostings2.Parameters.Add(PeriodTo);
SqlDataAdapter sdaGetPostings2 = new SqlDataAdapter();
sdaGetPostings2.SelectCommand = scGetPostings2;
sdaGetPostings2.Fill(dtGetPostings2);
return dtGetPostings2;
}
我得到的錯誤是:
非靜態字段,方法或屬性'Assets.frmAssetPostings.txtto'需要對象引用
和其他texbox一樣..
我已經將文本框的屬性更改為public等,是否有其他解決方案可以實現。
提前致謝
您是否曾嘗試在表單內部執行SQL,然后嘗試從app.cofig執行此操作
好吧,您已經在GetPostings2中傳遞參數的值,為什么不使用它們而不是frmAsset的文本框?
scGetPostings2.Parameters.AddWithValue("@AssetNumber", AssetNumberV);
scGetPostings2.Parameters.AddWithValue("@PeriodFrom", PeriodFromV);
scGetPostings2.Parameters.AddWithValue("@PeriodTo", PeriodToV);
順便說一句,你得到錯誤,因為GetPostings2是一個靜態方法,在這個方法中你不能像frmAsset表單那樣引用實例外部對象。
您需要使用TextBoxes的Text屬性,而不是嘗試將TextBox對象分配給我們的Sql參數。
SqlParameter AssetNumber = new SqlParameter("@AssetNumber", SqlDbType.VarChar, 6);
AssetNumber.Value = AssetNumberV.Text;
對正在讀取值的其余TextBox也執行相同的操作。
this.txtto.Text
我假設是一個Texbox,但你使用它作為PeriodTo.Value = frmAsset.txtto;
在您的GetPostings2方法中
您將需要以這種方式使用它frmAsset.txtto.Text; and frmAsset.txtfrom.Text;
frmAsset.txtto.Text; and frmAsset.txtfrom.Text;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.