我有一個工作進程,位於Web應用程序後面,它在表中生成一些記錄,這非常普遍,我實際上必須在表中將SQL(where子句)添加爲Data。從SQL到C#的轉換
它看起來是這樣的(不介意引號):
SET @sql = '(((1.00 < col_a)
AND (col_a < 5.00)))
AND NOT LEFT(col_b, 4) IN ('something')
OR (CHARINDEX('cucu', col_c) > 0)
AND NOT ISNULL(col_d, '') <> ''
AND ((1.00 < CONVERT(FLOAT, col_e))
AND (CONVERT(FLOAT, col_f)< 5.00))
AND NOT col_g IN ('10') '
它的工作原理沒事,沒有怨言,但客戶希望有一個在代碼的方式,我不是真的確定爲什麼。 因此,不是使用預定的SQL作業,而是運行我的存儲過程,我想我會在C#桌面應用程序中以某種方式重建所有這些,這也是做同樣的事情。
我想知道是否有方法讓我使用我的代碼(比如上面的我的@sql示例)以某種方式從C#中使用。我的意思是某種編譯或其他任何東西。
我以爲我只是選擇一個DataTable中的結果,然後以某種方式在該DataTable上應用我的@sql。我想用where子句縮小原始DataTable的結果。
如果我不這樣做,恐怕我將不得不更改整個存儲過程(@sql),這會使任務更大。
我正在使用SQL 2k5,客戶端有sql 2k8(我們將很快升級)以及我將在C#中構建的桌面應用程序。
看看微軟O/RM工具的LINQ to SQL和Entity Framework。它們允許您使用嵌入到C#語言(稱爲LINQ)中的查詢語法與數據庫交談。這是非常強大的,並在非常可維護的代碼結果。 – Steven 2011-05-16 13:58:27