c# 文字列関数 - MS-Accessでの取引はありますか?





結合 soql (4)


誰もあなたの答えをここに実際にあなたのコード例を与えたり、例を引用した人はいません(Accessヘルプファイルには例があります)。 注意すべき重要な問題は、Jet / ACE(Accessはトランザクションそのものをサポートしていない - それを使用しているデータベースエンジンによって異なります)が、トランザクションがワークスペースレベルで制御されていることです。 トランザクションに新しいワークスペースを作成したり、新しいワークスペースを作成したりすることができます。 ここにいくつかのサンプルコードがあります:

  On Error GoTo errHandler
    Dim wrk As DAO.Workspace
    Dim db As DAO.Database
    Dim lngInvoiceID As Long

    Set wrk = DBEngine.Workspaces(0)
    Set db = wrk.OpenDatabase(CurrentDb.Name)
    With wrk
      .BeginTrans
      db.Execute "INSERT INTO tblInvoice (CustomerID) VALUES (123);", dbFailOnError
      lngInvoiceID = db.OpenRecordset("SELECT @@IDENTITY")(0)
      db.Execute "INSERT INTO tblInvoiceDetail (InvoiceID) VALUES (" & lngInvoiceID & ")", dbFailOnError
      .CommitTrans
      Debug.Print "Inserted Invoice header and detail for Invoice " & lngInvoiceID
    End With

  exitRoutine:
    If Not (db Is Nothing) Then
       db.Close
       Set db = Nothing
    End If
    Set wrk = Nothing
    Exit Sub

  errHandler:
    MsgBox Err.Number & ": " & Err.Description, vbExclamation, "Error in transaction"
    wrk.Rollback
    Resume exitRoutine

(コードがテストされ、Access内で動作する)

私はC#.NETとMS-Accessを使って小さなデスクトップアプリケーションを開発しています。 MS-Accessの以前の経験はありません。 Ms-Accessでトランザクションを使用できるかどうかを知りたい。

私は以下のような状況があります。

Tbl1に挿入
Tbl2に挿入

tbl1の挿入が成功した場合にのみ、tbl2に挿入したいと思います。 また、tbl2に挿入中に例外がある場合は、tbl1に挿入をロールバックします。
私はこれは簡単にSQL Serverで達成することができますが、msアクセスの場合は、どのようにこれを管理する必要があります知っている。 助けてください、ありがとうございます。




はいMicrosoft Accessはトランザクションをサポートしており、トランザクションは非常にうまく機能します。 私は数年前に私のデータベースとしてAccessを使って市販のPOSアプリケーションを構築し、トランザクションのサポートは非​​常にうまくいっていました。

それでも、可能であれば、SQL Server Expressを使用します。 それはAccessよりはるかに強力で無料です。




MSDN - TRANSACTIONステートメント(Microsoft Access SQL)

トランザクションは自動的に開始されません。 トランザクションを開始するには、以下を使用してトランザクションを明示的に実行する必要があります。

BEGIN TRANSACTION

トランザクション中に実行されたすべての作業をコミットすることによってトランザクションを終了します。

COMMIT [TRANSACTION | WORK]

トランザクション中に実行されたすべての作業をロールバックしてトランザクションを終了します。

ROLLBACK [TRANSACTION | WORK]



Microsofts JavaScriptSerializer参照してください

JavaScriptSerializerクラスは、非同期通信レイヤーによって内部的に使用され、ブラウザーとWebサーバー間で渡されるデータを直列化および逆直列化します。 シリアライザのそのインスタンスにはアクセスできません。 ただし、このクラスはパブリックAPIを公開します。 したがって、マネージコードでJavaScript Object Notation(JSON)を使用する場合は、このクラスを使用できます。

ネームスペース :System.Web.Script.Serialization

アセンブリ :System.Web.Extensions(System.Web.Extensions.dll内)





c# .net sql ms-access ado.net