数据插入操作问题
为什么数据添加不进去呢?数据连接是没有问题的,进行插入操作数据更新不了,也没有错误提示。我的数据库表了只有两个字段 Name,PassWord.
private void btnadd_Click(object sender, System.EventArgs e)
{
string name=this.txtname.Text.Trim();
string pwd=this.txtpwd.Text.Trim();
pwd=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5 ");
string sql= "insert into admin values( ' "+name+ " ', ' "+pwd+ " ') ";
(new OleDbConn()).Insert(sql,null);
Response.Write((new OleDbConn()).ErorrMessage);
//Response.Redirect( "Default.aspx ");
}
public class OleDbConn
{
public OleDbConn()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private string ErrStr;
private OleDbConnection conn;
private int count;
public string ErorrMessage
{
get
{
return ErrStr;
}
}
public OleDbConnection oledbconn()
{
ErrStr= " ";
try
{
string connstr=System.Configuration.ConfigurationSettings.AppSettings[ "ConnStr "].ToString()+System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings[ "DbPath "].ToString());
return new OleDbConnection(connstr);
}
catch(Exception e)
{
ErrStr= "数据连接失败 "+e.Message;
return null;
}
}
public bool Update(string sql,OleDbConnection Conn)
{
ErrStr= " ";
if(conn==null)
{
conn=this.oledbconn();
}
else
{
conn=Conn;
}
try
{
if(conn.State==ConnectionState.Closed)
{
conn.Open();
}
OleDbCommand cmd=new OleDbCommand(sql,conn);
cmd.CommandType=CommandType.Text;
count=cmd.ExecuteNonQuery();
return !(count <1);
}
catch(Exception e)
{
ErrStr= "数据更新失败 "+e.Message;
return false;
}
finally
{
if(conn.State!=ConnectionState.Closed)
{
conn.Close();
}
}
}
public bool Insert( string sql,OleDbConnection Conn)
{
return this.Update(sql,Conn);
}
}
------解决方案--------------------string sql= "insert into admin values( ' "+name+ " ', ' "+pwd+ " ') ";
string sql= "insert into admin(Name,PassWord) values( ' "+name+ " ', ' "+pwd+ " ') ";
------解决方案--------------------进行插入操作数据更新不了
-------------------------
是数据不能写入表里,还是怎么
count=cmd.ExecuteNonQuery();
调试时 count值 为多少
------解决方案--------------------这种问题一是看数据库链接有没有问题:
再就是看你的values值的数据类型与数据库中的设计是不是有一致;
还有就是sql语句确定没有任何问题:
------解决方案--------------------先不要try catch 看看有没有其他信息
单步调式,看看Sql语句直接在数据库中执行是否成功