永发信息网

access数据库一张表不能更改数据语言用的c#.net

答案:2  悬赏:20  手机版
解决时间 2021-04-12 19:12
  • 提问者网友:谁的错
  • 2021-04-12 11:55
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),
这里写丢写了个字段, 更改上边的问题。
最佳答案
  • 五星知识达人网友:怙棘
  • 2021-04-12 12:07
语法错误
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吧,除非迫不得已才使用程序来动态创建数据库。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯