public static bool Update_Book(string ClassId, string Name, string Zuozhe, string Content, string Images, string Push, string Read, string Download, string Zhuangtai, string BookId)
{
bool b = false;
Oledbhelper cx = new Oledbhelper();
string sql = "update book set class_id=@ClassId,book_name=@Name,book_zuozhe=@Zuozhe,book_content=@Content,book_images=@Images,book_push=@Push,book_read=@Read,book_download=@Download,book_zhuangtai=@Zhuangtai where book_id=@BookId";
OleDbParameter[] par = new OleDbParameter[] {
new OleDbParameter("@ClassId",ClassId),
new OleDbParameter("@Name",Name),
new OleDbParameter("@Zuozhe",Zuozhe),
new OleDbParameter("@Content",Content),
new OleDbParameter("@Images",Images),
new OleDbParameter("@Push",Push),
new OleDbParameter("@Read",Read),
new OleDbParameter("@Download",Download),
new OleDbParameter("@",Zhuangtai),
new OleDbParameter("@BookId",BookId)
};
if (cx.ExecuteNonQuery(sql,par,CommandType.Text)==1)
{
b = true;
}
return b;
}
前台cs
protected void Update_Click(object sender, EventArgs e)
{
//修改文章
string BookId = Request.QueryString["BookId"];
string Name = BookName.Text.ToString();
string ClassId = Class.Text.ToString();
string Zhuangtai = BookZhuangtai.Text.ToString();
string Zuozhe = BookZuozhe.Text.ToString();
string Read = BookRead.Text.ToString();
string Download = BookDownload.Text.ToString();
string Images = ImgPath.Text.ToString();
string Content = TextBox2.Text.ToString();
string Push = BookPush.Text.ToString();
if (BLL.Book.UpdateBook(ClassId, Name, Zuozhe, Content, Images, Push, Read, Download, Zhuangtai, BookId))
{
BLL.IClass.ShowMessageJump("修改成功!", "Ma_Product.aspx");
}
else
{
BLL.IClass.ShowMessage("修改失败!");
}
}
前台测试的时候到BLL.IClass.ShowMessageJump("修改成功!", "Ma_Product.aspx");
这里了 并且重新定向到Ma_Product.aspx 页面了,但是数据就是没能修改!!请高手指点!
new OleDbParameter("@Zhuangtai",Zhuangtai),
这里写丢写了个字段, 更改上边的问题。
access数据库一张表不能更改数据语言用的c#.net
答案:2 悬赏:20 手机版
解决时间 2021-04-12 19:12
- 提问者网友:谁的错
- 2021-04-12 11:55
最佳答案
- 五星知识达人网友:怙棘
- 2021-04-12 12:07
语法错误
OleDbParameter[] parameters = {
new OleDbParameter("@参数", (类型)SqlDbType.VarChar,50)};
parameters[0].Value = 变量
;
OleDbParameter[] parameters = {
new OleDbParameter("@参数", (类型)SqlDbType.VarChar,50)};
parameters[0].Value = 变量
;
全部回答
- 1楼网友:蕴藏春秋
- 2021-04-12 13:10
首先添加引用 com组件 “microsoft ado ext.2.8 for ddl and security”,
然后使用adox命令空间下catalogclass类的creat方法实现:
string dbname = @"d:\newaccess.mdb";
adox.catalogclass access = new adox.catalogclass();
access.create("provider =microsoft.jet.oledb.4.0;data source ="+dbname+";");
这样就在d:\下建立了一个access数据库了。
接着可以创建表和字段了
adox.tableclass table = new adox.tableclass();
table.parentcatalog = access;
table.name = "mytable";//创建一个表
//创建一个自动增长字段
adox.columnclass col = new adox.columnclass();
col.parentcatalog = access;
col.type = adox.datatypeenum.adinteger;//设置字段类型
col.name = "id";
col.properties["jet oledb:allow zero length"].value = false;
col.properties["autoincrement"].value = true;
table.columns.append(col,adox.datatypeenum.adinteger,0);
还有很多不同字段创建的方法和其他操作就请lz参见msdn吧
另外说一下,要建立access数据库还是用office的access吧,除非迫不得已才使用程序来动态创建数据库。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯