2013-05-20 2 views
1
'<ad name="'+ am.name+ '" tag="C" cityid="'+cast(am.city_id as varchar) +'" 
stateid="'+convert(varchar(11),cast(cm.state_id as varchar)) +'" capital="N"> 
</ad>' as chkdata 

У меня есть инструкция выше в SQL-запросе.Пожалуйста, помогите избежать этой строки SQL до строки C#

Я хочу, чтобы добавить это C# строка

безуспешной попытки

string sqlqry = "\'<ad name=""\'+ am.name_id + \'"" tag=""C"" 
cityid=""\'+cast(am.city_id as varchar) +\'"" 
stateid=""\'+convert(varchar(11),cast(cm.state_id as varchar)) +\'"" capital=""N""> 
</ad>\' as chkdata ,"; 

Позже я это делаю. Я строю запрос в строке.

sqlcountcmd = new SqlCommand(finalsqlqry, sqlconn); 

+1 ко всем гарантировано

+0

Просто удалите '@', поскольку строка не является verbatim ... – RemarkLima

+0

попробовал, но не работал –

+1

было бы гораздо предпочтительнее просто «выбрать» нужные вам столбцы и позволить вашему прикладному уровню беспокоиться о xml –

ответ

2

предположительно, что всю вещь следует рассматривать как SQL - не композит SQL и C#. Таким образом, если мы используем дословный буквальным нам нужно беспокоиться только о " с:

string s = @"'<ad name=""'+ am.name+ '"" tag=""C"" cityid=""'+cast(am.city_id as varchar) +'"" 
stateid=""'+convert(varchar(11),cast(cm.state_id as varchar)) +'"" capital=""N""> 
</ad>' as chkdata ,"; 

Однако! I сильно предлагаю не делать этого. Вы должны просто Верните столбцы из SQL, и пусть ваше приложение уровневую беспокоиться о XML/HTML и т.д.

+0

Да, все дело должно рассматриваться как sql - не составной код sql и C# –

+0

работал отлично. , –

1

Так что, если я правильно понял, вам нужно только, чтобы избежать двойных кавычек " и не одного цитирует '

string sqlqry = "'<ad name=\"'+ am.name_id + '\" tag=\"C\" " + 
"sectordetailid=\"'+cast(am.sector_detail_id as varchar) +'\" " + 
"stateid=\"'+convert(varchar(11),cast(cm.state_id as varchar)) +'\" capital=\"N\">" + 
"</ad>' as chkdata"; 

Вы можете использовать дословный характер @ я уверен, но я не получил Visual Studio передо мной, чтобы проверить.

Смежные вопросы