huqiang_live 2015-05-18 02:39 采纳率: 80%
浏览 1625
已采纳

新手求教sql server sqlparameter

cmd.CommandText = "use master select name From sysdatabases Where name = '"+databasename+"'";

cmd.ExecuteNonQuery();

这个执行可以查到结果,这个databasename是string类型的变量

cmd.Parameters.Add(new SqlParameter("@databasename", "'" + databasename + "'"));

cmd.CommandText = "use master select name From sysdatabases Where name = @databasename";

cmd.ExecuteNonQuery();

我换成这样后就查不到了,错在哪里?

  • 写回答

1条回答 默认 最新

  • 知常曰明 2015-05-18 02:49
    关注

    用参数了就不要加 引号了,不然SQL认为你的引号也是数据的一部分。

    cmd.Parameters.Add(new SqlParameter("@databasename", "'" + databasename + "'"));
    

    应为

    cmd.Parameters.Add(new SqlParameter("@databasename", databasename)); 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部