sai.2012 Ответов: 2

Как выполнять функции базы данных Access в C#


При импорте файла CSV в базу данных Access, используя импорт спецификации через код , любая помощь

Я написал функцию в базе данных access (файл.mdb)

база данных открытого доступа-daatabase tools-visual basic-создан модуль (Mocdle name Load)

Sub Import_CSV()
Dim strFile As String 'Filename
DoCmd.TransferText acImportDelimi, OPS_Import_Specs, _
    "Raw Data", strPath & strFileList(intFile), -1
End Sub


Как выполнить эту функцию в c# , чтобы функция c# возвращала успех или неудачу.

Заранее спасибо.

Что я уже пробовал:

Я написал эту функцию в базе данных access, но не знаю, как ее вызвать c#.net

2 Ответов

Рейтинг:
2

sai.2012

Окончательное рабочее решение.

в access database создан модуль, написанный следующим кодом.

tion Compare Database

Sub Import_CSV(ByVal strFile As String)
'Dim strFile As String 'Filename
DoCmd.TransferText acImportDelimi, OPS_Import_Specs, _
    "tblDetail", strFile, -1
End Sub


в консольном приложении c# :

добавлена ссылка :
Microsoft.Office.Interop.Access
щелкните правой кнопкой мыши Свойства "Embed Interop Types" и установите значение False.

написанная функция на языке c# для вызова процедуры /функции базы данных access.
public static int RunAccessData()
       {

Microsoft.Office.Interop.Access.Application appAccess = null;
               appAccess = new Microsoft.Office.Interop.Access.ApplicationClass();
               string strFilePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\";
               Logger.WriteMessage("FilePath" + strFilePath);
               strFileName = WebConfig.GetSetting("InFileName");
               Logger.WriteMessage("FileName" + strFileName);
               strFilePathnName = strFilePath + strFileName;
               Logger.WriteMessage("FilePath and FileName" + strFilePathnName);
               appAccess.OpenCurrentDatabase("access database path here", false, null);
               object oMissing = System.Reflection.Missing.Value;
               object rt = appAccess.Run("Import_CSV", strFilePathnName);
               appAccess.Quit(Microsoft.Office.Interop.Access.AcQuitOption.acQuitSaveNone);


так что теперь я могу вызвать метод доступа и успешно импортировать данные с помощью importspec.

Спасибо Вам за Вашу поддержку.


Рейтинг:
1

Maciej Los

Ты не можешь!

Вы должны создать собственную подпрограмму в коде c#. Вот вам идея: Как читать данные текстового файла и отображать их в datagridview с помощью VB.NET[^]
Перейдите по приведенным там ссылкам.