c#语言,在VS2012中做asp.net,通过TextBox输入的数据,点击确定更新access数据库
数据库可以连接成功,数据库中的表名是Sheet,表有四个段名,分别是Apartment_Num,Dormitory_Num,Charging_Count,Money,数据...
数据库可以连接成功,数据库中的表名是Sheet,表有四个段名,分别是Apartment_Num,Dormitory_Num ,Charging_Count,Money ,数据类型分别是int,int,int,double。页面上有四个TextBox,分别对应表的四个段,通过输入数据后,点击确定按钮,能够把数据更新到本地access数据库中,下面是我的代码,不能更新,从网上查了一些,但是没有自己想要的,我是自学这个,有木有哪位高手帮忙看看,下面是我的代码
protected void Button3_Click(object sender, EventArgs e)
{
//int Apartment_Num = int.Parse(TextBox1.Text);
//int Dormitory_Num = int.Parse(TextBox2.Text);
// int Charging_Count = int.Parse(TextBox3.Text);
// double Money = Double.Parse(TextBox4.Text);
try
{
string strconn, oledbcom;
strconn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=;C:\Users\Documents\Visual Studio 2012\WebSites\WebSite1\Electric.accdb";
oledbcom = "update Sheet set Apartment_Num=int.Parse(TextBox1.Text),Dormitory_Num=int.Parse(TextBox2.Text),Charging_Count=int.Parse(TextBox3.Text),Money=Double.Parse(TextBox4.Text)";
OleDbConnection stringcon = new OleDbConnection(strconn);
OleDbDataAdapter dataAdapter1 = new OleDbDataAdapter(oledbcom, stringcon);
DataSet dataset1 = new DataSet();
if (stringcon.State == ConnectionState.Closed)
stringcon.Open();
dataAdapter1.Fill(dataset1, "Sheet");
GridView1.DataSource = dataset1.Tables["Sheet"];
ClientScript.RegisterClientScriptBlock(GetType(), "info", "alert('确定充值?');window.location.href='Default.aspx'", true);
stringcon.Close();
}
catch
{
ClientScript.RegisterClientScriptBlock(GetType(), "info", "alert('更新异常!');window.location.href='Default1.aspx'", true);
}
}
用insert语句吧,我异常处理做了弹出消息,按照“阳光的雷咩咩”的方法,catch里面的方法不对,改为自己的方法,弹出更新异常窗口,这个是错误提示
错误 3 与“System.Web.UI.ClientScriptManager.RegisterClientScriptBlock(System.Type, string, string)”最匹配的重载方法具有一些无效参数 展开
protected void Button3_Click(object sender, EventArgs e)
{
//int Apartment_Num = int.Parse(TextBox1.Text);
//int Dormitory_Num = int.Parse(TextBox2.Text);
// int Charging_Count = int.Parse(TextBox3.Text);
// double Money = Double.Parse(TextBox4.Text);
try
{
string strconn, oledbcom;
strconn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=;C:\Users\Documents\Visual Studio 2012\WebSites\WebSite1\Electric.accdb";
oledbcom = "update Sheet set Apartment_Num=int.Parse(TextBox1.Text),Dormitory_Num=int.Parse(TextBox2.Text),Charging_Count=int.Parse(TextBox3.Text),Money=Double.Parse(TextBox4.Text)";
OleDbConnection stringcon = new OleDbConnection(strconn);
OleDbDataAdapter dataAdapter1 = new OleDbDataAdapter(oledbcom, stringcon);
DataSet dataset1 = new DataSet();
if (stringcon.State == ConnectionState.Closed)
stringcon.Open();
dataAdapter1.Fill(dataset1, "Sheet");
GridView1.DataSource = dataset1.Tables["Sheet"];
ClientScript.RegisterClientScriptBlock(GetType(), "info", "alert('确定充值?');window.location.href='Default.aspx'", true);
stringcon.Close();
}
catch
{
ClientScript.RegisterClientScriptBlock(GetType(), "info", "alert('更新异常!');window.location.href='Default1.aspx'", true);
}
}
用insert语句吧,我异常处理做了弹出消息,按照“阳光的雷咩咩”的方法,catch里面的方法不对,改为自己的方法,弹出更新异常窗口,这个是错误提示
错误 3 与“System.Web.UI.ClientScriptManager.RegisterClientScriptBlock(System.Type, string, string)”最匹配的重载方法具有一些无效参数 展开
3个回答
展开全部
添加:string sql = "INSERT INTO 图书(ISBN,书名,出版社,作者,出版日期,价格,图书类型,简介)VALUES('" + textBox1.Text + "' ,'" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + comboBox1.Text + "','" + richTextBox1.Text + "')";
更新:string sql = "update 图书 set 书名 = '" + textBox2.Text + "',出版社 = '" + textBox3.Text + "',作者 = '" + textBox4.Text + "',出版日期 = '" + textBox5.Text + "',价格 = '" + textBox6.Text + "',图书类型 = '" + comboBox1.Text + "',简介 = '" + richTextBox1.Text + "' WHERE ISBN = '" + textBox1.Text + "'";
删除:string sql = "delete from 图书 where ISBN='" + textBox1.Text + "'";
刷新:string sql = "SELECT ISBN,图书类型,书名,作者,出版社 FROM 图书";
更新:string sql = "update 图书 set 书名 = '" + textBox2.Text + "',出版社 = '" + textBox3.Text + "',作者 = '" + textBox4.Text + "',出版日期 = '" + textBox5.Text + "',价格 = '" + textBox6.Text + "',图书类型 = '" + comboBox1.Text + "',简介 = '" + richTextBox1.Text + "' WHERE ISBN = '" + textBox1.Text + "'";
删除:string sql = "delete from 图书 where ISBN='" + textBox1.Text + "'";
刷新:string sql = "SELECT ISBN,图书类型,书名,作者,出版社 FROM 图书";
展开全部
//先改成这样试试
oledbcom = string.Format(@"update Sheet set
Apartment_Num={0},
Dormitory_Num={1},
Charging_Count={2},
Money={3}",
int.Parse(TextBox1.Text),
int.Parse(TextBox2.Text),
int.Parse(TextBox3.Text),
Double.Parse(TextBox4.Text));
catch (Exception ex)
{
ClientScript.RegisterClientScriptBlock(GetType(), ex.Message, true);
}
追问
还是更新异常,楼上说的对,用插入一条记录的方法要好一些,该怎么写呢,按照你说的试了一下还是没有成功
追答
我怎么知道你什么叫成功呢?有异常就把异常信息贴出来,要么就留联系远程看!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update 必须有可以更新的数据,你的数据表里面有原始数据吗?
另外就是update如果不加where条件的话所有的数据都会被更新的
另外就是update如果不加where条件的话所有的数据都会被更新的
追问
有数据的,如果用insert语句该怎么改,亲说的详细一些,我是自学的,不太懂
追答
insert into [表名](字段名1, 字段名2...) values ('值1', '值2'); --增加一条记录
delte from [表名] where 字段名=条件值; --删除特定的一条记录
在update之前需要有插入,毕竟数据库的四个基础操作是增删改查。
你先学会增和删再学改吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询