mysql数据填充问题!

zhwedo0822 2009-05-18 05:26:40
公司里有一个php的网站,用的是mysql数据库,我在网上下了一个for .net的组件,mysql.data.dll文件,用于连接数据库。
我想将一个user表里面的数据填到几个TextBox,和Label上,这个里面是有数据的,可是我按下面的方法写总是有错误!我是个新手,大家给看一下有什么问题,还有就是还有别的填空方法吗?给个例子!

public DataRow dr;
public string usname;

protected void Page_Load(object sender, EventArgs e)
{
usname = Session["uname"].ToString();
}
public void datBD()
{
MySqlConnection mysqlcon = new MySqlConnection("Server=localhost;userid=root;password=1234;Database=zhwedo");
mysqlcon.Open();
//MySqlCommand mysqlcmd = new MySqlCommand("select uname from sdb_members where uname='" + usname + "' ", mysqlcon);
string mysqlcmd="select * from sdb_members where uname='" + usname + "'";//p 这里在调试时是有数据的!
MySqlDataAdapter date = new MySqlDataAdapter(mysqlcmd, mysqlcon);
DataSet ds = new DataSet();
date.Fill(ds, "mymuma");
dr = ds.Tables["mymama"].Rows[0];//这里出现未处理NullReferenceException :未将对象引用设置到对象的实例 ...
this.Luname.Text = dr["usname"].ToString();
this.lemail.Text = dr["email"].ToString();
this.Textname.Text = dr["name"].ToString();


...全文
103 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljhcy99 2009-05-19
  • 打赏
  • 举报
回复
也可以不写列名称,用列的索引来取得(0开始的)。如
ds.Tables["mymama"].Rows[0][0].ToString();
不过还是写名字清楚点,易于理解 修改,索引就没有这个好处了
ljhcy99 2009-05-19
  • 打赏
  • 举报
回复
这个你确认以下数据库的表字段了。

zhwedo0822 2009-05-19
  • 打赏
  • 举报
回复
没有人管吗?哎!
zhwedo0822 2009-05-19
  • 打赏
  • 举报
回复
2L的大哥,我按你的方法试了试,不行呀!

///省略

if(ds.Tables["mymama"].Rows.Count>0)
{
this.Luname.Text = ds.Tables["mymama"].Rows[0]["usname"].ToString(); //列“usname”不属于表 mymama
this.lemail.Text = ds.Tables["mymama"].Rows[0]["email"].ToString();
this.Textname.Text = ds.Tables["mymama"].Rows[0]["name"].ToString();
}



这是什么原因呀!
周公 2009-05-18
  • 打赏
  • 举报
回复

MySqlConnection mysqlcon = new MySqlConnection("Server=localhost;userid=root;password=1234;Database=zhwedo");
mysqlcon.Open();
//MySqlCommand mysqlcmd = new MySqlCommand("select uname from sdb_members where uname='" + usname + "' ", mysqlcon);
string mysqlcmd="select * from sdb_members where uname='" + usname + "'";//p 这里在调试时是有数据的!
MySqlDataAdapter date = new MySqlDataAdapter(mysqlcmd, mysqlcon);
DataTable data = new DataTable();
date.Fill(data);
if(data.Rows.Count>0)
{
DataRow dr=data.Rows[0];
this.Luname.Text = dr["usname"].ToString();
this.lemail.Text = dr["email"].ToString();
this.Textname.Text = dr["name"].ToString();
}

ljhcy99 2009-05-18
  • 打赏
  • 举报
回复
1,如果你显示的数据需要修改,那么用DataSet;
public void datBD()
{

///省略
if(ds.Tables["mymama"].Rows.Count>0)
{
this.Luname.Text = ds.Tables["mymama"].Rows[0]["usname"].ToString();
this.lemail.Text = ds.Tables["mymama"].Rows[0]["email"].ToString();
this.Textname.Text = ds.Tables["mymama"].Rows[0]["name"].ToString();
}
}

2,如果仅仅是显示数据,而不修改。

public void datBD()
{
///省略

SqlCommand cmd = new SqlCommand(mysqlcmd,mysqlcon);
DataReader read = cmd.ExcuteReader();
while(read.Read())
{
this.Luname.Text = read["usname"].ToString();
this.lemail.Text = read["email"].ToString();
this.Textname.Text = read["name"].ToString();
break(); //仅显示第一条的话 加这个
}
}

62,046

社区成员

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

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

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

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