[a obtenu un peu plus loin si sa mise à jour]obtenir mes données d'accès 2003 db en C# (erreur dbReader.GetString)
Bonjour Là-bas, je l'espère vraiment que vous êtes en mesure de me aider!
Maintenant, la première partie de mon code fonctionne, et je récupère mes numéros de rapport dans ma liste déroulante, et je suis capable d'écrire ce nombre à un lbl. maintenant je dois prendre ce nombre et obtenir le reste de mes données à partir de ma base de données Access 2003, et les déposer dans une chaîne (ma sortie). (Je ne veux pas vraiment toutes les données chargées dans mon mem quand j'ouvre le programme, donc je crois seulement obtenir le [Rapport nr] jusqu'à ce que j'en choisisse un, où je chargerai les données dans la chaîne et l'enregistrerai maintenant): Mon problème est que cela ne fonctionnera pas!
output = dbReader.GetString(dbReader.GetOrdinal("Dato")).ToString();
OBS: mon erreur est maintenant qu'il dit que je n'ai pas de données dans mes lignes ou coloums
mon code est comme suit:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Data.OleDb;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private string aktuelRapportNR = "";
string output = "";
private string connectionName = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source=semcqdjh-access 2007.mdb;"
+ "Jet OLEDB:Database Password=;";
public Form1()
{
InitializeComponent();
#region Indlæsning af combobox, med rapport numre
OleDbConnection Myconnection = null;
OleDbDataReader dbReader = null;
Myconnection = new OleDbConnection(connectionName);
Myconnection.Open();
OleDbCommand cmd = Myconnection.CreateCommand();
cmd.CommandText = "SELECT [Rapport nr] FROM AVR";
dbReader = cmd.ExecuteReader();
int rapportNR;
while (dbReader.Read())
{
rapportNR = (int)dbReader.GetInt32(dbReader.GetOrdinal("Rapport nr"));
comboBox1.Items.Add(rapportNR);
}
dbReader.Close();
Myconnection.Close();
#endregion
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
aktuelRapportNR = comboBox1.SelectedItem.ToString();
lblAktuelRapportNR.Text = aktuelRapportNR;
OleDbConnection Myconnection = null;
OleDbDataReader dbReader = null;
Myconnection = new OleDbConnection(connectionName);
Myconnection.Open();
OleDbCommand cmd = Myconnection.CreateCommand();
cmd.CommandText = "SELECT [Dato] FROM AVR WHERE [Rapport nr] =" + aktuelRapportNR;
dbReader = cmd.ExecuteReader();
try
{
output = dbReader.GetString(dbReader.GetOrdinal("Dato")).ToString();
}
catch (Exception)
{
output = "fejl eller tom";
}
dbReader.Close();
Myconnection.Close();
label1.Text = output;
}
private void btnExport_Click(object sender, EventArgs e)
{
}
}
}
juste vu moi-même donc je mis à jour mon post et est allé un peu plus loin: P merci quand même: P –
OBS: mon erreur est maintenant qu'il dit que je n'ai pas de données dans mes rangées ou coloums –
son accord: P c'est fait maintenant: D merci pour l'aide: P Bien je ne pense pas que mon problème est avec la base de données, bien que j'obtienne mes nombres dans la première partie du code, mais pas les autres données dans la seconde? –