Click here to Skip to main content
15,912,756 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a database connection problem. I do create a setup project with MSAccess DB. When i set up the project after building, i do have popup " Database not found".. then have a another popup...
fill: SelectCommand.Connection property has not been initialized...
Thanks in advance..
This is my ClsConnection file..
C#
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Windows.Forms;

namespace BarkodSatis
{
    class ClsConnection
    {
        private OleDbConnection AccessObjConn;
        public static string Fc_LocalVeriYolu = string.Empty;

        public OleDbConnection ConnAccess //Burada Bağlantı Nesnesi Oluşturuyorum
        {
            get
            {
                return (AccessObjConn);
            }
            set
            {
                AccessObjConn = value;
            }
        }
        public ClsConnection()
        {
            //Bu Metodum Veritabanı Bağlantısı için kullanıyorum..             
            if (Fc_LocalVeriYolu.ToString() == string.Empty)
            {
                string filename = Application.StartupPath + "\\BarkodSatis\\bin\\Debug\\BarkodDB.mdb";
                if (System.IO.File.Exists(filename) == false)
                {
                    MessageBox.Show("Database Not Found...", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                Fc_LocalVeriYolu = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename;
                
            }
            
            AccessObjConn = new OleDbConnection(Fc_LocalVeriYolu);
            AccessObjConn.Open();
        }  

    }
}
Posted
Updated 16-Nov-14 16:56pm
v2
Comments
DamithSL 16-Nov-14 23:05pm    
have you check manually in the application installed path for BarkodDB.mdb? is that exist in the given folder path?
Member 11238529 17-Nov-14 15:34pm    
Thanks for your reply, DamithSL. I did check. I have the same problem. Is it possible to check my application? i can send it by email. or any solution?
I do set the project up!! Everything is OK! but then when i click my shortcut of my project. It says...Database not found!!

1 solution

Your .exe application file should be in \\bin\\Debug or \\bin\\Release, so path should be
filename = Application.StartupPath + "\\BarkodDB.mdb";


Application.StartupPath:
Gets the path for the executable file that started the application
http://msdn.microsoft.com/en-us/library/system.windows.forms.application.startuppath(v=vs.110).aspx[^]
 
Share this answer
 
Comments
Dusara Maulik 17-Nov-14 23:38pm    
correct.
Member 11238529 18-Nov-14 4:12am    
Thanks a lot guys.Its working:)..What a mistake...!!!!
Member 11238529 18-Nov-14 6:42am    
I have another problem on project. After i changed my startup path to..
filename = Application.StartupPath + "\\BarkodDB.mdb"; ...it worked. But now, i cant save any data into my database..i have the same error. My main menu is like that..

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace BarkodSatis
{
public partial class FrmMain_AnaMenu : Form
{
public FrmMain_AnaMenu()
{
InitializeComponent();
ClsGenel.TarihFormat(); //Bu Satırda Programın Tarih Formatını Ayarlamaktayım ClsGenel İsimli Classta TarihFormat isimli bir metodum bulunmaktadır.
//TarihFormat isimli metodu seçip F12 tuşuna basarsanız o metoda gidebilirsiniz...
InitData(); //Bu Metodum ilk açılışta form üzerindeki ilk yüklenecek verilerim veya işlemlerim var ise onu yapmaktayım.
}
//Bu Değişkenler benim form içersinde veya dışarıdan(yani başka bir form veya clastan gördüğünüz gibi static tanımlı) erişebleceğim değişkenlerdir.
public static float IDVeresiyeKaydet = 0;
public static string gbBarkodKod = string.Empty;
void InitData()
{
DtSatis = new DataTable(); //Bu satırda DtSatis isimli dataset açmaktayım
adapSatis = new OleDbDataAdapter("Select * From M_Satis Where NoID=0", Conn.ConnAccess); //dataadaptör ile M_Satis isimli tabloya bağlanmatayım
adapSatis.Fill(DtSatis);//DtSatis isimli datasetimin içini doldurmaktayım

/*Aşağıdaki 4 Blokta tabloda olmayıpda benim işlemlerim için gerekli olan 4 Adet alan açmaktayım
* Databasede bu alanları açmaya gerek duymadım o yüzden datasete alanları açtım Aşağıdan Gördüğünüz Gibi
* Burdan. (line 41---64 e kadar) ........................................"*/
DataColumn myDataColumn;
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "UrunAd";
DtSatis.Columns.Add(myDataColumn);
GridViewSatisListe.DataSource = DtSatis;

myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "BarkodKod";
DtSatis.Columns.Add(myDataColumn);
GridViewSatisListe.DataSource = DtSatis;

myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Birim";
DtSatis.Columns.Add(myDataColumn);
GridViewSatisListe.DataSource = DtSatis;


myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "SatisFiyat";
DtSatis.Columns.Add(myDataColumn);
//Buraya kadar-----------------------------------------
GridViewSatisListe.DataSource = DtSatis; //Bu Satırda GridViewSatisListe isimli datagiride DtSatis isimli dataseti bağlamaktayım.DtSatis datasetin içinde veriler bu sayede geride yansımaktadır...
}
Member 11238529 18-Nov-14 6:44am    
error shows here...

adapSatis.Fill(DtSatis);//DtSatis isimli datasetimin içini doldurmaktayım

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900