kapkap
سه شنبه 30 فروردین 1390, 01:00 صبح
سلام به همه دوستان
من در محیط VS 2010 و تحت dotnetframework 4.0 ،یک پروژه VB.Net ایجاد کرده ام و در اون از بانک Access 2007 و ADO 2.7 استفاده کرده ام. پروژه کاملا و بصورت صحیح روی دستگاه خودم کار می کنه. حتی وقتی setup رو روی دستگاه خودم نصب می کنم درست کار می کنه . اما وقتی از اون setup میسازم ، و روی رایانه دیگه ای نصب می کنم فقط در هنگام ارتباط با دیتابیس، error های متفاوتی میده.
در هنگام اضافه کردن یک سطر به recordset :
اگر بانک access 2003 باشه
و فایل از پوشه programfiles اجرا بشه خطا : cannot Update. Database or Object is read-only
و فایل از جای دیگه ای اجرا بشه خطا : Could not load type 'ADODB.FiledsToInternalFiledsMarshaler' from assembly 'NoAfarin'.Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
اگه بانک access 2007 باشه
و فایل از پوشه Program Files اجرا بشه خطا:
Current Recordset Does not support updating. This may be a limitation of the provider, or of the selected locktype.
و اگه پوشه نصب شده پروژه جای دیگه ای کپی بشه و اجرا بشه خطا مثل حال دوم مورد قبلی است
کد ساختن connection و recordset به قرار زیر است:
Public Class MainForm
Inherits System.Windows.Forms.Form
Public mycon As New ADODB.Connection
Public myrec As New ADODB.Recordset
...
Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim mydbstring As String = Windows.Forms.Application.StartupPath
mycon.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + mydbstring + "\Database.accdb")
myrec.Open("products", mycon, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
من در محیط VS 2010 و تحت dotnetframework 4.0 ،یک پروژه VB.Net ایجاد کرده ام و در اون از بانک Access 2007 و ADO 2.7 استفاده کرده ام. پروژه کاملا و بصورت صحیح روی دستگاه خودم کار می کنه. حتی وقتی setup رو روی دستگاه خودم نصب می کنم درست کار می کنه . اما وقتی از اون setup میسازم ، و روی رایانه دیگه ای نصب می کنم فقط در هنگام ارتباط با دیتابیس، error های متفاوتی میده.
در هنگام اضافه کردن یک سطر به recordset :
اگر بانک access 2003 باشه
و فایل از پوشه programfiles اجرا بشه خطا : cannot Update. Database or Object is read-only
و فایل از جای دیگه ای اجرا بشه خطا : Could not load type 'ADODB.FiledsToInternalFiledsMarshaler' from assembly 'NoAfarin'.Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
اگه بانک access 2007 باشه
و فایل از پوشه Program Files اجرا بشه خطا:
Current Recordset Does not support updating. This may be a limitation of the provider, or of the selected locktype.
و اگه پوشه نصب شده پروژه جای دیگه ای کپی بشه و اجرا بشه خطا مثل حال دوم مورد قبلی است
کد ساختن connection و recordset به قرار زیر است:
Public Class MainForm
Inherits System.Windows.Forms.Form
Public mycon As New ADODB.Connection
Public myrec As New ADODB.Recordset
...
Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim mydbstring As String = Windows.Forms.Application.StartupPath
mycon.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + mydbstring + "\Database.accdb")
myrec.Open("products", mycon, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)