2014-01-10 52 views
0

我可以給查詢一個起始值,我的記錄應該從某些值開始直到結束。就像我有一個TextBox,用戶在其中輸入起始值和循環的極限。我通過在循環中增加它們並將它們插入到數據庫中來生成值。在SQL Server中給查詢賦予初始值

現在我想顯示這些值到一個GridView中,但條件是我怎麼能告訴我的查詢,它應該從輸入到文本框中的值開始,直到循環中生成的值。

我的代碼如下所示:

int SerialNumberStart = Convert.ToInt32(Regex.Replace(StartSerialBox.Text, "[^0-9]+", string.Empty)); 
int SerialLimit = Convert.ToInt32(LimitBox.Text); 

for (int i = 0; i < SerialLimit;i++) 
{ 
    SerialNumberStart++; 
    SerialNumberList.Add("S" + SerialNumberStart); 
} 

for (int j = 0; j < SerialNumberList.Count;j++) 
{ 
    Adapter.insertserialnumbers(SerialNumberList[j], DateTime.Now.ToString()); 
} 

我的查詢會是這樣

ALTER PROCEDURE [dbo].[usp_Serialization_HeaderData] 
    @SomeValue 
AS 
    Select * 
    From Units 
    Where StartingValue > @SomeValue 
+0

它是winform還是WPF? –

+0

它在winforms –

+0

如果我沒有錯,請糾正我。意味着您希望在值之間進行數據提取。你爲什麼不使用和在哪裏條款? –

回答

0

試試這個。假設你的起始值是S110911,最終值是S110915。您的查詢必須使用'Between'關鍵字。

string startingValue = "S110911"; 
string endingValue = "S110915"; 
string query = "Select * From Units Where UnitSerialNumber Between startingValue And endingValue"; 

這將重試S110911和S110915之間的所有行。

+0

沒有它的不起作用StartingValue [ColumnName]不是一個關鍵字,它給出錯誤,這個ColumnName附近的語法錯誤 –

+0

StartingValue [columnName]只是一個提示.Replace StartingValue [ColumnName]與您的實際columnName。 –

+0

我知道我用我的列名替換了它,但它不識別StartingValue [] Like Select * From Units Where StartingValue [Units.UnitSerialNumber] START和ENDVALUE之間 –