在GridView中插入数据点击两次才能生效
我写了一个在方法第一次点击添加的时候没有反应,第二次点击才能运行但是密码不能插入,,但是有时 不是 这样,,这是什么原因帮我看一下
点击添加 让ViewState["UserId"]) ==0然后判断ViewState["UserId"]) ==0是真 或者假的话执行下面 的语句
if (Convert.ToInt32(ViewState["UserId"]) ==0)
{
bool bflog = true;
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["JXPG"].ConnectionString);
cn.Open();
string sql = "SELECT * FROM Sys_Membership WHERE UserName=@UserName";
SqlCommand cm = new SqlCommand(sql, cn);
cm.Parameters.Add("UserName", SqlDbType.NVarChar);
cm.Parameters["UserName"].Value = TxtUserName.Text;
SqlDataReader dr = cm.ExecuteReader();
if(dr.Read())
{
bflog = false;
}
dr.Close();
if (bflog == true)
{
SqlConnection cns = new SqlConnection(ConfigurationManager.ConnectionStrings["JXPG"].ConnectionString);
cns.Open();
string sqls = "INSERT INTO Sys_Membership(UserName,Pwd,Alias,LogInCount,Pass) VALUES(@UserName,@Pwd,@Alias,@LogInCount,@Pass)";
SqlCommand cms = new SqlCommand(sqls, cns);
cms.Parameters.Add("@UserName", SqlDbType.NVarChar);
cms.Parameters.Add("@Alias", SqlDbType.NVarChar);
cms.Parameters.Add("@Pwd", SqlDbType.NVarChar);
cms.Parameters.Add("@LogInCount", SqlDbType.Int);
cms.Parameters.Add("@Pass", SqlDbType.Int);
cms.Parameters["@UserName"].Value = TxtUserName.Text.Trim();
cms.Parameters["@Alias"].Value = TxtAlias.Text.Trim();
cms.Parameters["@LogInCount"].Value = 1;
cms.Parameters["@Pass"].Value = 1;
cms.Parameters["@Pwd"].Value = sl.GetFinallPwd(TxtPwd.Text).Trim();
cms.ExecuteNonQuery();
cns.Close();
BindDate();
}
------解决方案--------------------断点单步调试一下,为什么第一次点击后没有完成相关代码。
------解决方案--------------------这个自己调试好一些。。
if (Convert.ToInt32(ViewState["UserId"]) ==0)
{
bool bflog = true;
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["JXPG"].ConnectionString);
}
你这判断的用意是什么?
------解决方案--------------------
“添加修改都是一个”就很成问题,很不对路。当点击按钮的时候,你的这些程序当然应该写在按钮的事件处理程序中啦。难道你误写到page_load中去了?