2012-09-28 26 views
6

thể trùng lặp:
Multiline String Literal in C#Cú pháp chính xác trong C# để tạo ngắt dòng ở giữa chuỗi mysql là gì?

Tôi có lẽ không đặt câu hỏi đúng của Google để tìm câu trả lời của tôi. Tôi chỉ muốn giữ mã của tôi gọn gàng mà không cần chuỗi dài thực sự trên một dòng. Tôi muốn chuyển sang dòng tiếp theo mà không phá vỡ chuỗi.

cmd.CommandText = "UPDATE players SET firstname = CASE id WHEN 1 THEN 'Jamie' WHEN 2 THEN 'Steve' WHEN 3 THEN 'Paula' END WHERE id IN (1,2,3)"; 

Ví dụ: tôi muốn chia thành hai dòng mà không ảnh hưởng đến chuỗi. Tất cả sự giúp đỡ đều được đánh giá cao.

+0

'\ n' phải không ???????? –

+0

@ColeJohnson \ n sẽ không hoạt động trên tệp nguồn. –

+0

Bạn đang sử dụng studio trực quan? –

Trả lời

6

tôi nghi ngờ những gì bạn muốn là sử dụng @ cho literals chuỗi đúng nguyên văn; lợi thế của chuỗi nguyên văn là chuỗi thoát không được xử lý và chúng có thể mở rộng nhiều dòng.

cmd.CommandText = @"UPDATE players 
        SET firstname = 
         CASE id 
         WHEN 1 THEN 'Jamie' 
         WHEN 2 THEN 'Steve' 
         WHEN 3 THEN 'Paula' 
         END 
        WHERE id IN (1,2,3)"; 
+0

Điều này thật hoàn hảo. Tôi chắc rằng những người khác cũng làm việc như nhau. Cảm ơn tất cả những người đã giúp. – webby68

1

như thế này

cmd.CommandText = "UPDATE players SET firstname =" + 
    " CASE id WHEN 1 THEN 'Jamie' WHEN 2 THEN 'Steve' WHEN 3" + 
    " THEN 'Paula' END WHERE id IN (1,2,3)"; 
+0

@ cũng hoạt động, hãy ghi nhớ theo cách tôi đã hiển thị, bạn phải nhớ không gian ở đầu dòng tiếp theo vì ngăn chặn concatinating 2 từ không được cho là –

+0

Cảm ơn về sự giúp đỡ của bạn. – webby68

+0

@ webby68 - tốt của nó để nhớ điều này như là một tùy chọn, mặc dù nó không hoạt động khá sạch như cách tiếp cận @ - nếu bạn đã từng viết cùng một điều trong VB.Net, thì @ trước một chuỗi không được phép –

0

Simpley nối dây của bạn như sau:

cmd.CommandText = "UPDATE players SET firstname = CASE id WHEN 1 " 
cmd.CommandText +="THEN 'Jamie' WHEN 2 THEN 'Steve' WHEN 3 THEN 'Paula' END WHERE id IN (1,2,3)"; 
+0

Cảm ơn sự giúp đỡ của bạn. – webby68

0

Nó được gọi là nối:

cmd.CommandText = "UPDATE players SET firstname" + 
    " = CASE id WHEN 1 THEN 'Jamie' WHEN 2 THEN 'Steve'" + 
    " WHEN 3 THEN 'Paula' END WHERE id IN (1,2,3)"; 
+0

Cảm ơn sự giúp đỡ của bạn. – webby68

0

Giống như này?

cmd.CommandText = "text text" + 
    "text text"; 
+0

Cảm ơn sự giúp đỡ của bạn. – webby68

3

Bạn có thể sử dụng @ trong chuỗi của chuỗi. Điều này được gọi Verbatim String Literal

cmd.CommandText = @" 
UPDATE players 
SET firstname = CASE id 
       WHEN 1 THEN 'Jamie' 
       WHEN 2 THEN 'Steve' 
       WHEN 3 THEN 'Paula' 
       END 
WHERE id IN (1,2,3)"; 
+0

Cảm ơn sự giúp đỡ của bạn. – webby68

3

Sử dụng @ biểu tượng trước khi chuỗi. Nó sẽ nói để biên dịch chuỗi đó là nhiều.

cmd.CommandText = @"UPDATE players 
        SET firstname = CASE id 
         WHEN 1 THEN 'Jamie' 
         WHEN 2 THEN 'Steve' 
         WHEN 3 THEN 'Paula' 
         END WHERE id IN (1,2,3)"; 
+0

Cảm ơn sự giúp đỡ của bạn. – webby68

Các vấn đề liên quan