'<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查询中有上述语句。
我想将其添加到C#string
不成功的尝试
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 :(得分:2)
大概是整个事物被视为sql - 而不是sql和C#的组合。因此,如果我们使用逐字字面量,我们只需要担心"
s:
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 ,";
然而!我强烈建议不要这样做。您应该从SQL返回 columns ,让您的应用层担心xml / html等。
答案 1 :(得分: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在我面前检查。