好的,所以,我在 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();
}
但是,我仍然无法连接。它仍然得到消息框。这是否与我之前完成了另一个连接的事实有关,或者我输入connectionString的方式,因为我不知道。