看视频看到了这么一段代码public class sqlHelper
{
public sqlHelper()
{
//
//TODO: 在此处添加构造函数逻辑
//
} public static int SqlExecuteNonQuery(string sql, params SqlParameter[] paras)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;//清除旧有内容
foreach (SqlParameter para in paras)
{
cmd.Parameters.Add(para);
}
return cmd.ExecuteNonQuery();
}
}
}
}这个清除旧有内容是什么意思呢我是菜鸟,不是很懂,测试了一下,两个文本框,输入,一个按钮,插入,第二个按钮,看cmd是否有内容输出
protected void Button1_Click(object sender, EventArgs e)
{
if (txtpid.Text == "")
{
return;
}
SqlParameter[] paras = new SqlParameter[]{
new SqlParameter("@pid", Convert.ToInt32(txtpid.Text)),
new SqlParameter("@pro", txtpro.Text)
};
string sql = "insert into Provincial(pid,Provincial) values(@pid,@pro)";
Response.Write(sqlHelper.SqlExecuteNonQuery(sql, paras));
}
protected void Button2_Click(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
if (cmd.CommandText == "")
{
Response.Write("空值");
}
else
{
Response.Write(cmd.CommandText);
}
}
}
}文本框输入文字,点击按钮插入,这样cmd应该有内容了,可是点击第二个按钮,却出来空值,我迷惑了这连接是啥意思啊,从输出结果来看,第二个按钮,应该是打开了第二个连接,都是连接相同的数据库,怎么区分两个连接是不相同的呢,还有,同一个连接,那上面的清除旧有内容是什么意思呢,怎么知道是同一个连接啊
用 using,视频说连接完了就自动释放了,什么是连接完了呢?
{
public sqlHelper()
{
//
//TODO: 在此处添加构造函数逻辑
//
} public static int SqlExecuteNonQuery(string sql, params SqlParameter[] paras)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;//清除旧有内容
foreach (SqlParameter para in paras)
{
cmd.Parameters.Add(para);
}
return cmd.ExecuteNonQuery();
}
}
}
}这个清除旧有内容是什么意思呢我是菜鸟,不是很懂,测试了一下,两个文本框,输入,一个按钮,插入,第二个按钮,看cmd是否有内容输出
protected void Button1_Click(object sender, EventArgs e)
{
if (txtpid.Text == "")
{
return;
}
SqlParameter[] paras = new SqlParameter[]{
new SqlParameter("@pid", Convert.ToInt32(txtpid.Text)),
new SqlParameter("@pro", txtpro.Text)
};
string sql = "insert into Provincial(pid,Provincial) values(@pid,@pro)";
Response.Write(sqlHelper.SqlExecuteNonQuery(sql, paras));
}
protected void Button2_Click(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
if (cmd.CommandText == "")
{
Response.Write("空值");
}
else
{
Response.Write(cmd.CommandText);
}
}
}
}文本框输入文字,点击按钮插入,这样cmd应该有内容了,可是点击第二个按钮,却出来空值,我迷惑了这连接是啥意思啊,从输出结果来看,第二个按钮,应该是打开了第二个连接,都是连接相同的数据库,怎么区分两个连接是不相同的呢,还有,同一个连接,那上面的清除旧有内容是什么意思呢,怎么知道是同一个连接啊
用 using,视频说连接完了就自动释放了,什么是连接完了呢?
{
Response.Write("空值");
}
else
{
Response.Write(cmd.CommandText);
}
这个注释写错了啦 lz也理解错了
CommandText是要执行的sql脚本 可以获取或设置它的值什么清除旧内容哦还有在using内的代码,只要出了using的范围,系统就会自动释放using内的资源