错误提示: 必须声明标量变量 "@pwd

夜雨夜话 2015-05-29 12:02:48
代码如下

string constr = @"Data Source=TESTSERVERIT;Initial Catalog=khgltest;Persist Security Info=True;User ID=sa;Password=abc.123";
using (SqlConnection con=new SqlConnection(constr))
{
con.Open();
string sql = @"select USERID from wh_user where [PASSWORD]=@pwd";
using (SqlCommand com=new SqlCommand(sql,con))
{

SqlParameter para = new SqlParameter("@pwd", SqlDbType.VarChar, 18);
//com.Parameters.AddWithValue("@pwd","abc.123");
para.Value = "abc.123";
SqlDataAdapter adp = new SqlDataAdapter(com.CommandText,con);
DataTable dt = new DataTable();
adp.Fill(dt);
foreach (DataRow dr in dt.Rows )
{
DataColumn dc = dt.Columns["USERID"];
string uid= (string)dr[dc];

}



这里SqlParameter para = new SqlParameter("@pwd", SqlDbType.VarChar, 18);
//com.Parameters.AddWithValue("@pwd","abc.123");
para.Value = "abc.123";不是已经申明了吗,为什么还是报错??
...全文
388 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-05-29
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
按照你的代码的逻辑,你删除 cmd 就行了,只要有个 sql 变量就行了,要 cmd.Text 干什么呢? 会删除代码,才能看懂你自己的程序。许多人之所以不会写代码,不是因为代码少,而是就是因为代码写的太多了而不会删除。
不是代码写的太多了,是代码copy的太多了,但是根本看不懂,不知道应该删除什么
於黾 2015-05-29
  • 打赏
  • 举报
回复
SqlDataAdapter adp = new SqlDataAdapter(com.CommandText,con); 简直服了
  • 打赏
  • 举报
回复
按照你的代码的逻辑,你删除 cmd 就行了,只要有个 sql 变量就行了,要 cmd.Text 干什么呢? 会删除代码,才能看懂你自己的程序。许多人之所以不会写代码,不是因为代码少,而是就是因为代码写的太多了而不会删除。
  • 打赏
  • 举报
回复
你的 adp 跟 cmd.Parameters 没有半点关系啊。你的 cmd 就是一个摆设,除了它的 Text 属性当个字符串变量来滥用,其它东西都没用。
夜雨夜话 2015-05-29
  • 打赏
  • 举报
回复
引用 2 楼 u013053259 的回复:
cmd.Parameters.Add就可以了
改了,还是一样
夜雨夜话 2015-05-29
  • 打赏
  • 举报
回复
引用 1 楼 u013053259 的回复:
你的 SqlParameter没给SqlCommand
string constr = @"Data Source=TESTSERVERIT;Initial Catalog=khgltest;Persist Security Info=True;User ID=sa;Password=abc.123"; using (SqlConnection con=new SqlConnection(constr)) { con.Open(); string sql = @"select USERID from wh_user where [PASSWORD]=@pwd"; using (SqlCommand com=new SqlCommand(sql,con)) { com.Parameters.AddWithValue("@pwd","abc.123"); SqlDataAdapter adp = new SqlDataAdapter(com.CommandText,con); DataTable dt = new DataTable(); adp.Fill(dt); 改成这样还是一样的报错
静静-风 2015-05-29
  • 打赏
  • 举报
回复
cmd.Parameters.Add就可以了
静静-风 2015-05-29
  • 打赏
  • 举报
回复
你的 SqlParameter没给SqlCommand
夜雨夜话 2015-05-29
  • 打赏
  • 举报
回复
引用 11 楼 Z65443344 的回复:
[quote=引用 9 楼 hzwxslqq 的回复:] [quote=引用 6 楼 sp1234 的回复:] 按照你的代码的逻辑,你删除 cmd 就行了,只要有个 sql 变量就行了,要 cmd.Text 干什么呢? 会删除代码,才能看懂你自己的程序。许多人之所以不会写代码,不是因为代码少,而是就是因为代码写的太多了而不会删除。
谢谢,因为是刚学,所以对很多类的具体用法都不太会,我再改改,谢谢[/quote] 新手就先直接拼接SQL语句吧,别玩参数化什么高大上的写法了 估计你写的东西根本没法实际应用,所以也根本不需要考虑什么SQL注入之类的问题[/quote] 嗯嗯,谢谢指导,已经修正了,谢谢
於黾 2015-05-29
  • 打赏
  • 举报
回复
这就跟农民造飞机一样 先飞起来再说吧 别还停留在理论研究,就老想着什么飞机安全性问题了
於黾 2015-05-29
  • 打赏
  • 举报
回复
引用 9 楼 hzwxslqq 的回复:
[quote=引用 6 楼 sp1234 的回复:] 按照你的代码的逻辑,你删除 cmd 就行了,只要有个 sql 变量就行了,要 cmd.Text 干什么呢? 会删除代码,才能看懂你自己的程序。许多人之所以不会写代码,不是因为代码少,而是就是因为代码写的太多了而不会删除。
谢谢,因为是刚学,所以对很多类的具体用法都不太会,我再改改,谢谢[/quote] 新手就先直接拼接SQL语句吧,别玩参数化什么高大上的写法了 估计你写的东西根本没法实际应用,所以也根本不需要考虑什么SQL注入之类的问题
夜雨夜话 2015-05-29
  • 打赏
  • 举报
回复
引用 7 楼 Z65443344 的回复:
SqlDataAdapter adp = new SqlDataAdapter(com.CommandText,con); 简直服了
新手一个,见笑了
夜雨夜话 2015-05-29
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
按照你的代码的逻辑,你删除 cmd 就行了,只要有个 sql 变量就行了,要 cmd.Text 干什么呢? 会删除代码,才能看懂你自己的程序。许多人之所以不会写代码,不是因为代码少,而是就是因为代码写的太多了而不会删除。
谢谢,因为是刚学,所以对很多类的具体用法都不太会,我再改改,谢谢
代码下载地址: https://pan.quark.cn/s/068306a56640 在交通运输科学范畴内,交通流量分配是探讨交通系统内交通负荷如何在各个道路路段间进行合理分配的核心议题。交通流分配技术主要应用于模拟和推演交通系统的运行状态,旨在为城市规划人员与交通工程师提供优化道路布局的参考,进而缓解交通拥堵现象,提升道路交通的整体效能。以下将对"交通流分配技术"进行深入阐述: 1. **全部或无分配(All-or-Nothing Distribution)** 全部或无分配是一种基础的交通流分配策略。该技术依据最短路径准则,预设所有从发源地(Origin)至目的地(Destination)的车辆都将选择路程最短的路线。倘若存在多条等长路径,则采用随机方式确定其中一条。此类方法未将交通拥堵因素纳入考量,因为一旦选定路径,便假定所有交通量将沿此路径通行,即便这可能导致部分路段出现超负荷状况。 2. **逐步分配(Progressive Assignment)** 逐步分配技术顾及了交通网络的动态特征。该算法通过逐步优化流量配置,力求使网络内行驶的总代价(诸如通行时间、距离等指标)最小化。运算过程始于初始的全部或无分配状态,随后逐步修正路径选择,直至网络达成稳定状态,即每次流量修正后,总代价的变动幅度不再明显。此方法更贴近现实交通场景,因为车辆会依据即时路况选择最优路径。 3. **迭代平均分配(Iterative Average Distribution)** 迭代平均分配是一种对逐步分配技术的优化版本,其更侧重于实现网络流量的均衡化。在每一轮迭代过程中,算法不仅评估当前路径的优化程度,同时参考前一次迭代的流量配置。通过融入平均化理念,该方法能更有效地分散交通...

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧