向大家请教一个问题

fcxxfcxx 2009-04-19 03:41:54
我是一个刚学asp.net的新手,每一个动作(按钮)下面都是像下面一样(不断的打开、关闭数据库,操作数据),组成的多个页面。我有几个疑问:1、这样做是麻烦,重复的连接数据库、打开、关闭;会不会影响性能和访问速度?2、能不能给我下面这段代码进行优化一下(查找用户是否存在,如果存在,将相关信息保存在Session里?
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=GLXT");
con.Open();
SqlCommand com = new SqlCommand("select * from jshmain where name='" + TextBox1.Text.Trim() + "' and password='" + TextBox2.Text.Trim() + "'", con);
SqlDataReader mydrb = com.ExecuteReader();
if (mydrb.Read())
{
string sqlstr = "data source=(local);database=GLXT;uid=sa;pwd=;";
SqlConnection strCon = new SqlConnection(sqlstr);
SqlDataAdapter myda = new SqlDataAdapter("select * from jshmain where name='" + TextBox1.Text.Trim() + "' and password='" + TextBox2.Text.Trim() + "'", strCon);
DataSet myds = new DataSet();
strCon.Open();
myda.Fill(myds, "aaa");
DataRowView mydrv = myds.Tables["aaa"].DefaultView[0];

Session["leibie"] = Convert.ToString(mydrv.Row["类别"]);
Session["xianshi"] = Convert.ToString(mydrv.Row["市县"]);
Session["xiangzheng"] = Convert.ToString(mydrv.Row["乡镇"]);
Session["xuexiao"] = Convert.ToString(mydrv.Row["任教学校"]);
Session["name"] = Convert.ToString(mydrv.Row["name"]);
strCon.Close();
Response.Redirect("CGjiaoshiindex.aspx");
}
else
{
Response.Write("<script>alert('该用户不存在!')</script>");
}
...全文
59 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongxingqiche 2009-04-19
  • 打赏
  • 举报
回复
最好写在一个类里,每次都写一次连接字符串有点麻烦,可以使用SQLhelper,里面提供了很多方法。可以直接使用。
下载一些代码看看大有帮助的。
fcxxfcxx 2009-04-19
  • 打赏
  • 举报
回复
连接数据库的代码写在一个类里面(数据访问层),是不是访问速度会快一些???
ws_hgo 2009-04-19
  • 打赏
  • 举报
回复
你将
连接数据库的代码写在一个类里面(数据访问层)

Session["leibie"] = Convert.ToString(mydrv.Row["类别"]);
Session["xianshi"] = Convert.ToString(mydrv.Row["市县"]);
Session["xiangzheng"] = Convert.ToString(mydrv.Row["乡镇"]);
Session["xuexiao"] = Convert.ToString(mydrv.Row["任教学校"]);
Session["name"] = Convert.ToString(mydrv.Row["name"]);
strCon.Close();

这种代码最好不要存在
你可以用DataTable 代替
Session用多了对服务器不好
itliyi 2009-04-19
  • 打赏
  • 举报
回复
楼上说得对
ws_hgo 2009-04-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pt1314917 的回复:]
Session["leibie"] = Convert.ToString(mydrv.Row["类别"]);
Session["xianshi"] = Convert.ToString(mydrv.Row["市县"]);
Session["xiangzheng"] = Convert.ToString(mydrv.Row["乡镇"]);
Session["xuexiao"] = Convert.ToString(mydrv.Row["任教学校"]);
Session["name"] = Convert.ToString(mydrv.Row["name"]);

[/Quote]
HI
桶哥
来.NET版混啦
pt1314917 2009-04-19
  • 打赏
  • 举报
回复
Session["leibie"] = Convert.ToString(mydrv.Row["类别"]);
Session["xianshi"] = Convert.ToString(mydrv.Row["市县"]);
Session["xiangzheng"] = Convert.ToString(mydrv.Row["乡镇"]);
Session["xuexiao"] = Convert.ToString(mydrv.Row["任教学校"]);
Session["name"] = Convert.ToString(mydrv.Row["name"]);
strCon.Close();
------------------
这个地方,楼主不觉得麻烦么,建议创建一个类,然后将对象存到session中。

62,267

社区成员

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

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

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

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