da.SelectCommand 小问题

che2piaopiao 2008-12-29 11:42:59
        Open();
string sl = "select * from uk where Ucid=@um";
SqlCommand comm = new SqlCommand(sl, conn);
comm.Parameters.AddWithValue("@um", um);

da.SelectCommand = comm;
da.Fill(ds);
Close();
return ds.Tables[0];


查看ds.tables[0], 不知道为什么,多了一行空白的纪录?
为什么呀
...全文
255 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
等不到来世 2008-12-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 che2piaopiao 的回复:]
public DataTable bd(string um)
{
Open();
string sl = "select * from uk where Ucid=@um";
SqlCommand comm = new SqlCommand(sl, conn);
comm.Parameters.AddWithValue("@um", um);

da.SelectCommand = comm;
da.Fill(ds);
Close();
return ds.Tables[0];
}


完整代码!
[/Quote]
ds在方法内部重新new一下,不要用全局的
wzy_love_sly 2008-12-31
  • 打赏
  • 举报
回复
先看库里记录是不是有空,把@um换成调试的值,如果行数相同就没错,多一行再检查c#代码

select * from uk where Ucid=@um

weiloe 2008-12-29
  • 打赏
  • 举报
回复
把comm.Parameters.AddWithValue("@um", um);改成comm.Parameters.Add("@um",数值类型,长度,“um(对应的数据源中的字段)”); 我就知道这么多 你先试试
wuyq11 2008-12-29
  • 打赏
  • 举报
回复
AddWithValue(string parameterName, object value)在运行时对所输入的数据类型进行判断,获取对应的数据库类型。
用Add试试
chwlyr 2008-12-29
  • 打赏
  • 举报
回复
没有遇到过,帮你顶!
che2piaopiao 2008-12-29
  • 打赏
  • 举报
回复
public DataTable bd(string um)
{
Open();
string sl = "select * from uk where Ucid=@um";
SqlCommand comm = new SqlCommand(sl, conn);
comm.Parameters.AddWithValue("@um", um);

da.SelectCommand = comm;
da.Fill(ds);
Close();
return ds.Tables[0];
}


完整代码!

阿彪兄 2008-12-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 weiloe 的回复:]
把comm.Parameters.AddWithValue("@um", um);改成comm.Parameters.Add("@um",数值类型,长度,“um(对应的数据源中的字段)”); 我就知道这么多 你先试试
[/Quote]
同意
shinlgienls 2008-12-29
  • 打赏
  • 举报
回复
确认 你的 SQL select * from uk where Ucid=@um

就是这么写的吗? 有top 之类的吗、

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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