わかりましたので、Visual Studio の C# (2012) と Access の間の接続を作成しました。つまり、手動で(コードなしで)実行しました。ただし、この方法は、私がやりたいことを正確に行うのに役立つわけではないため、コーディング方法も行いました。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Configuration;
using System.Xml.Serialization;
namespace WindowsFormsApplication1
{
public partial class horaireForm : Form
{
DateTime semSess;
int numSemaine;
int jourSem;
int periode;
string theoOuLabo;
string lesCours;
string cours;
string lesProfs;
string unprof;
string lesLocaux;
string lesGroupes;
string laComm;
string conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Stanley\\Desktop\\stuff\\Hiver 2013\\Horaires_EcranA2013.accdb";
(長くてすみません)。とにかく、この後、コンボボックスから情報を取得するこのコードがあります (各ケースは、大学の学期の週の日付です)。コンボボックスの値の場合は主キーを選択できないようですので、コンボボックスで選択する値として日付を使用し、それを使用してデータベースの実際の主キーを選択することにしました。
semSess = Convert.ToDateTime(comboSemSess.Text);
OleDbConnection laConn = new OleDbConnection(conn);
try
{
laConn.Open();
laComm = "SELECT NumeroSemaine FROM SemainDelaSession WHERE DebutSemaine = " + semSess;
OleDbCommand myAccessCommand = new OleDbCommand(laComm, laConn);
OleDbDataReader reader = myAccessCommand.ExecuteReader();
while (reader.Read())
{
numSemaine = Convert.ToInt32(reader["NumeroSemaine"]);
}
}
catch
{
MessageBox.Show("Une erreur s'est produite en accédant à la base de données");
}
finally
{
laConn.Close();
}
しかし、まだ接続できません。それはまだ MessageBox を取得します。その前に別の接続を行ったという事実と関係があるのでしょうか、それとも接続文字列を入力した方法と関係があるのでしょうか。