2014-10-07 47 views
2

我有一個MySQL查詢(大約20行)。我想知道是否有網上的東西或其他可以將它變成我的代碼的字符串。例如...

SELECT 
    `tblapplied`.* 
    , `tbljobs`.* 
    , CONCAT(salutation," ",firstname," ",lastname) 
    , `tblusers`.`id` 
    , `tblcountry`.`countryname` 
    , `tblquestions`.`question` 
    , `tblquestions_1`.`question` 

等變爲

MySql = "SELECT" 
MySql += "`tblapplied`.*" 
MySql += ", `tbljobs`.*" 
MySql += ", CONCAT(salutation," ",firstname," ",lastname)" 

和,你得到的圖片。我問,因爲我一直在具有嵌入到SQL代碼,並希望能夠快速它轉換爲字符串$

非常感謝

+1

'String'在哪個語言? – dognose 2014-10-07 16:45:21

+0

我需要將其轉換爲asp.net VB。NET – Cliff 2014-10-07 16:47:10

+1

[這個問題有一些答案](http://stackoverflow.com/questions/706382/multiline-strings-in-vb-net)通過在CDATA中使用XML文字來解決多行查詢問題。 – 2014-10-07 16:49:08

回答

0

我一直在用文本編輯器來做這件事,它允許我用新字符搜索和替換行尾字符。

我選擇的編輯是NoteTab Pro,但我相信還有很多其他人。

在這個文本編輯器,線端通過^ P來表示,所以我會在原始SQL複製到一個新文件,並替換

^P

「^ P的MySql + =「

這會在每行的末尾加上一個雙引號和MySQL + =」在

下一行的開始。這救了我噸鈦多年來我一直使用它,使用起來非常簡單。

一個其他評論:如果這是我的代碼,我將使用StringBuilder而不是字符串連接,因爲連接會生成大量不必要的字符串對象進行清理。

我們的庫中還有一個非常強大的工具,用於從現有數據庫表或視圖中自動生成SQL(如添加或插入存儲過程)和代碼(如DTO類):CodeSmith

此工具允許您編寫可以將輸出格式化爲任何您需要的代碼。它的啓動時間確實有點小,如果您在運行時工具中編寫SQL以將其移入代碼之前對其進行測試,但它不適用,但應該注意其他任務。

+0

比StringBuild,Line Continuation更好的事件。 IE,'MySql =「SELECT」&_「'tblapplied'。'''' – Steve 2014-10-07 18:02:16

+0

@Steve:很好,但只有MySQL被定義爲Const(很多程序員經常不會這麼做);否則,&將每個常量字符串連接成一個變量,因此您再次遇到了多餘的對象問題。 – 2014-10-07 18:06:34

+0

關於字符串與'&'結合的好處。我從來沒想過這點。雖然我不會將它們創建爲常量,但我通常使用帶有參數化字符串的STATIC關鍵字。無論如何,這只是一次定尺寸。 – Steve 2014-10-07 18:55:28

0

我只想創造一個小程序來此做自己。我經常在數據庫和VB之間工作,並且我有一個包含大約20個按鈕的表單/應用程序,它將對我的剪貼板中的數據執行各種操作。例如:

  • 從查詢結果轉換所選項目到逗號分隔的列表,這樣我就可以在一個IN()操作使用
  • 刪除方括號
  • 轉換SQL的多條線路到的東西VB和這個反向

我曾經在VS中使用過很多宏,但我想我是唯一使用宏的因爲VS不再支持它們。