Связаться с OleDbConnection - PullRequest
       2

Связаться с OleDbConnection

2 голосов
/ 23 марта 2012

Я пытаюсь подключиться к базе данных с двумя таблицами.Однако после того, как я пытаюсь войти в систему, у меня появляется ошибка.Ошибка говорит, что в нуле нет строки.Я думаю, что это из-за моей связи, любая помощь будет оценена.

Ответы [ 3 ]

5 голосов
/ 09 ноября 2012

Вам НЕ нужно открывать соединение. OleDbDataAdapter.Fill откроет соединение и закроет его, если оно обнаружило, что оно закрыто для начала. Fill оставляет соединение в состоянии, в котором оно его находит.

Я ставлю под сомнение ваш SQL. Я понимаю, что OleDb НЕ поддерживает именование параметров в SQL. Это нужно заполнитель "?" вместо @login. Вам нужен параметр для каждого заполнителя, и параметры должны быть добавлены в порядке их появления. Если ваш SQL-код недействителен, то в DataTable у вас будет либо исключение SQL, либо данные, т.е. строка 0!

5 голосов
/ 23 марта 2012

Вам необходимо открыть соединение

protected void login_Click(object sender, EventArgs e)
    {
        OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\parodeghero\\Documents\\Visual Studio 2010\\Projects\\Project3\\Project3\\App_Data\\QA.mdb;Persist Security Info=True");
        //set up connection string
        OleDbCommand command = new OleDbCommand("select * from Employee where Login=@login", connect);
        OleDbParameter param0 = new OleDbParameter("@login", OleDbType.VarChar);

        param0.Value = employeeID.Text;
        command.Parameters.Add(param0);

        try
        {
            connect.Open();
        }catch(Exception err){ Debug.WriteLine(err.Message);}

        //middle tier to run connect
        OleDbDataAdapter da = new OleDbDataAdapter(command);

        DataSet dset = new DataSet();

        da.Fill(dset);
1 голос
/ 04 мая 2013

полный код подключения oledb

http://csharp.net -informations.com / data-provider / csharp-oledb-connection.htm

        string connetionString = null;
        OleDbConnection cnn ;
        connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=yourdatabasename.mdb;";
        cnn = new OleDbConnection(connetionString);
        try
        {
            cnn.Open();
            MessageBox.Show ("Connection Open ! ");
            cnn.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Can not open connection ! ");
        }

curos

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...