☆★☆★☆★关于access同时增加一条记录到2个表的问题☆★☆★☆★
我的思路是这样的. 我的 页面 有中英文 两个 方面.就是用到 resourecs 文件. 相应 建立一个文章系统.数据库是access.
我想每发布一条 中文 新闻.相应 一个 英文新闻就会 在另外 的表产生.
就是中文.英文2个表 分别存储新闻文章.
但是里面的 id是一一对应的
就是说.哪怕是空记录都好.我怎样插入一条记录到一个表.另外一个表都相应增加一个记录呢?
另外只能用Access.因为公司的网站空间是不支持SQLSERVER的.谢谢
------解决方案--------------------两条insert不可以吗?
------解决方案--------------------ACCESS不支持触发器,貌似没有好的做法,填加两次吧
------解决方案--------------------原来Access不支持触发器啊。又学到了,谢谢
------解决方案--------------------有人说事务可以做?
------解决方案-------------------- up
------解决方案--------------------还有人知道吗???
------解决方案--------------------事务只是为了保证一次操作流程的完整性,也就是说两次insert放在一个事务中处理,如果其中一次失败,就将事务回滚,这样中英文的数据就始终可以保持一一对应。
------解决方案--------------------对对,就是这样.但是我不会 这个 事务..请问那里有这个例子呢?
c# 事务 Access
------解决方案--------------------OleDbTransaction 是C#内置的,不需要数据库支持,LZ直接用吧。
-----------------
有点扯,数据库当然要支持,C#内置的,那我用VB。net 怎么办?
------------------------------------------
究竟怎样了...晕
------解决方案--------------------// ....
using (OleDbConnection dbconn = new OleDbConnection(connStr))
{
dbconn.Open();
//创建事务
OleDbTransaction dbtran = dbconn.BeginTransaction();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = dbconn;
cmd.Transaction = dbtran;
cmd.CommandType = CommandType.Text;
try
{
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
cmd.CommandText = sql2;
cmd.ExecuteNonQuery();
//执行完成后提交事务
dbtran.Commit();
}
catch
{
//回滚事务
dbtran.Rollback();
throw;
}
}
------解决方案--------------------// ....
using (OleDbConnection dbconn = new OleDbConnection(connStr))
{
dbconn.Open();
//创建事务
OleDbTransaction dbtran = dbconn.BeginTransaction();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = dbconn;
cmd.Transaction = dbtran;
cmd.CommandType = CommandType.Text;
try
{
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
cmd.CommandText = sql2;
cmd.ExecuteNonQuery();
//执行完成后提交事务
dbtran.Commit();
}
catch
{
//回滚事务
dbtran.Rollback();
throw;
}
}
完全赞成
------解决方案--------------------最笨的办法 插两次 insert 呵