就是SQL语句有问题 呀 但是在V2010以前的编译器都可以 你可试试
解决方案 »
- 关于VBA的问题 有点冷门 进来看看
- 在cs文件中,用javascript写数据库操作,如何实现??
- 怎么在dbgrid控件中指定位置插入一行记录?
- velocity中读取数组问题【请教】
- 绘图的问题
- 如何检查指定的机器上是否安装IIS?版本多少?以及检查运行在ASP.NET1.1还是1.0下面?
- 请问 "internal sealed class " 是定义什么类???
- 请教关于c#中operator与static的矛盾
- 发E-mail的问题!请教!
- 讨论利用Web Service来做程序的自动更新、升级。
- wpf中如何把canvas中的一个控件拖放到一个StackPanel布局中
- C# N个数组相乘
这个最普通的用户登陆界面 都整了半天 后来我换到VS2010就可以 但不知道怎么修改 string connectionString = Properties.Settings.Default.UserDatabaseConnectionString;
SqlConnection conn = new SqlConnection(connectionString);
string sql = string.Format("select User,Pwd from UserTable WHERE User='{0}'and Pwd='{1}'",textBox1.Text,textBox2.Text);
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
DataTable table=new DataTable ();
adapter.Fill(table);
if (table.Rows.Count>0)
{ MessageBox.Show("OK");
}
else
{
MessageBox.Show("用户名不存在或密码错误!");
}
问题是我在另一个登陆界面里也遇到了 一样的问题 同样的SQL语句 VS2012就不可以 VS2010则可以
如下列这段代码 在VS2010 count 就有值 VS2012无论如何 都不对 SqlConnection conn = new SqlConnection(connectionString);
string sql = string.Format("select User,Pwd from UserTable WHERE User='{0}'and Pwd='{1}'",textBox1.Text,textBox2.Text);
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
DataTable table=new DataTable ();
adapter.Fill(table);
if (table.Rows.Count>0)
{ MessageBox.Show("OK");
}
else
{
MessageBox.Show("用户名不存在或密码错误!");
}
在VS2012编译器里 只要后面有WHERE子句 几乎都不成功 放在VS2010即有影响的行数
真是奇怪了
SQL语句在VS2010里面没任何异常 可返回影响 行数 就是VS2012编译器里有问题 现在就是说 VS2012到底是不是改变了什么我们不知道的内容
and前少个空格吧 User='{0}'and Pwd= ,如果你代码里是这样,肯定有错了,你细查一下。
string sql = string.Format("select User,Pwd from UserTable WHERE User='{0}' and Pwd='{1}'",textBox1.Text,textBox2.Text);
有空格 我在另两台电脑用VS2010都有受影响行数 就是VS2012里遇到的问题 公司的电脑和自己的XP装的VS2010都OK
VS2012出现在问题 现在真是郁闷 就是不知道 VS2012到底改了什么东西
先谢谢你 不加where子句都能读取到表数据的 这个问题 困扰我N久 真的搞不懂
公司的电脑用的是VS2010 我自己的笔记本也是VS2010 是XP系统 自己的台式机装的是VS2012遇到这问题 根据你给方法都检查试了 问题都试了 就是不见效果 狂晕 严重怀疑VS2012
别入参数直接写SQL执行, 一步步排除就是了。总之肯定是你的问题,不是VS的问题。
在SQL语句构建完毕后的代码行,设置断点,获取SQL语句的实例值,复制粘贴到数据库中执行。结果正确就说明程序没错;否则就是程序构建SQL出错。
没有其他情况。
我试了 只要带where子句筛选 一定有问题 不知道大侠是不是也在用VS2012 可以一试
数据库不同,SQL语句也会略有区别
但是跟VS版本是一点关系都没有的
没加空格
不是空格问题 现在就是不知道到底是区别在哪里 只要用WHERE子句筛选 均不行
我意思就是SQL2012与VS2012是不是不协调
算了 我还是用VS2010
我意思就是SQL2012与VS2012是不是不协调
算了 我还是用VS2010肯定不存在这种问题ExecuteNonQuery 执行存储过程.
[1].存储过程有返回值(传出参数)
(1).把数据库中受影响的行数赋给返回值,这是得到的返回值是受影响的函数(大于或等于0的整数).
(2).把某个值赋给返回值.
[2].存储过程没有返回值
执行成功后返回 -1.
(没有返回值的存储过程理应 返回 受影响的行数 (执行 增删改) 但是.但我们在ado.net中执行存储过程的时候,dotnet 自动为给了存储过程一个默认值:set nocount on;
所以给我们的感觉是执行存储过程默认返回 -1 )另外 你打印你vs2012读取出来的Properties.Settings.Default.SchoolConnectionString字符串看看和2010的一样,看看是否是哪里配置出现了问题
{ }
去掉你的try-catch,你就知道报什么错了,空catch是非常不推荐的,除非你确定那个异常可以不作处理
WHERE User='{0}' and
仔细看到底啥区别,还说不是空格问题
饭吃噎着了,不要怪饭盆啊