新手请教:asp.net写数据库
所给代码均可以通过执行,有几点不明白的地方,盼指教!
1,
SqlConnection con = new SqlConnection( "server=localhost;database=;uid=;pwd= ");
con.Open();
SqlCommand com = new SqlCommand( "reg ", con);
com.CommandType = CommandType.StoredProcedure;
SqlParameter sp = new SqlParameter( "@user ", SqlDbType.VarChar, 50);
sp.Value = Request[ "user "];
com.Parameters.Add(sp);
com.ExecuteNonQuery();
Response.Write( " <script> alert( '注册成功! ');location= 'Default.aspx ' </script> ");
此段代码是调用一个数据库里的存储过程(reg)实现注册功能,
可是没有发现关闭 释放资源的语句!
这个关闭 资源的释放 是本来就少了呢?还是有什么隐式程序实现了?
2,
一个新闻发布系统,是类和界面分离的方式实现的,该方法也可以执行,是通过缓存来实现一个自动添加的功能~
撇开自动不自动不谈,就拿新闻发布来讲,用这种方法有什么好处? 我直接通过string写到数据库里不就可以了么?
3,
接问题2
private const string SQL_INSERT_NEWSINFO = "INSERT INTO newsinfo VALUES(@title,@data,@date, @imageurl,@category) ";
private const string PARM_NEWS_TITLE = "@title ";//定义
SqlParameter[] newsParms = GetParameters();//获取缓存参数
newsParms[0].Value = newsTitle;//给参数赋值
foreach (SqlParameter parm in newsParms)
cmd.Parameters.Add(parm);//遍历,并填加到sqlcommand命令中
parms = new SqlParameter[] {
new SqlParameter(PARM_NEWS_TITLE, SqlDbType.NVarChar,20),
……
}//缓存不存在的情况下,建立参数列表
然后执行;
private const string PARM_NEWS_TITLE = "@title ";
这行,是赋值还是什么?
盼赐教!!!
------解决方案--------------------SqlConnection con = new SqlConnection( "server=localhost;database=;uid=;pwd= ");
con.Open();
SqlCommand com = new SqlCommand( "reg ", con);
com.CommandType = CommandType.StoredProcedure;
SqlParameter sp = new SqlParameter( "@user ", SqlDbType.VarChar, 50);
sp.Value = Request[ "user "];
com.Parameters.Add(sp);
com.ExecuteNonQuery();
con.Closed()//可能是忘关了
Response.Write( " <script> alert( '注册成功! ');location= 'Default.aspx ' </script> ");
------解决方案--------------------1.我觉得本来就少了。
2.愚昧没看明白。
3.PARM_NEWS_TITLE