String zyjf = Session["unitjm"].ToString().Trim()+"jf";//专业积分字段,用于SQL事务,录入及更新数据
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conn"]);
conn.Open();
SqlTransaction sqltran = conn.BeginTransaction();//新事务,执行不成功会使数据库回滚。
SqlCommand gxallcmd = conn.CreateCommand();
gxallcmd.Transaction = sqltran;
try
{
gxallcmd.CommandText = "Update jfyb Set " + zyjf + "=" + zyjf + "+333.22 where name='张三'";
gxallcmd.ExecuteNonQuery();
sqltran.Commit();
Label3.Text = "录入";
}
catch
{
sqltran.Rollback();
Label3.Text = "错误";
}
如上代码。定义zyjf这个String,类型的字段的时候如果代码按照如上代码写try中的内容就可以执行成功。
但是如果这样定义字段String zyjf = Session["unitjm"].ToString()+"jf";代码执行try中的字段就会失败
我用的Sqlserver2005。
Session的来源是数据库,会不会是我在创建Session的时候就已经把空格加入了Session中了,才导致我从Session中去得的字段包含空格,还是其他什么原因谢谢。
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conn"]);
conn.Open();
SqlTransaction sqltran = conn.BeginTransaction();//新事务,执行不成功会使数据库回滚。
SqlCommand gxallcmd = conn.CreateCommand();
gxallcmd.Transaction = sqltran;
try
{
gxallcmd.CommandText = "Update jfyb Set " + zyjf + "=" + zyjf + "+333.22 where name='张三'";
gxallcmd.ExecuteNonQuery();
sqltran.Commit();
Label3.Text = "录入";
}
catch
{
sqltran.Rollback();
Label3.Text = "错误";
}
如上代码。定义zyjf这个String,类型的字段的时候如果代码按照如上代码写try中的内容就可以执行成功。
但是如果这样定义字段String zyjf = Session["unitjm"].ToString()+"jf";代码执行try中的字段就会失败
我用的Sqlserver2005。
Session的来源是数据库,会不会是我在创建Session的时候就已经把空格加入了Session中了,才导致我从Session中去得的字段包含空格,还是其他什么原因谢谢。
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conn"]);
conn.Open();
string sql = "Select * from Users where userid = '" + this.Login1.UserName.Trim()+ "'and pwd='"+this.Login1.Password.Trim()+"'";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
Session["unitjm"] = reader["unitjm"].ToString().T;
return true;
}
else
{
return false;
}
晕了。。哪里来的空格。。
改成
"Update jfyb Set " + zyjf + "='" + zyjf + "+333.22' where name='张三'";