c#做DLL封装了一 数据库,该怎么写连接字符串?
写成这样string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ System.IO.Directory.GetCurrentDirectory() + "\\capdata.mdb";
当在EXE中调用提示找不到capdata.mdb数据库啊?
写成这样string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ System.IO.Directory.GetCurrentDirectory() + "\\capdata.mdb";
当在EXE中调用提示找不到capdata.mdb数据库啊?
总得知道它的路径才能操作数据库把?
另外,CurrentDirectory是你放数据库文件的那个文件夹吗?
我知道是数据库路径名称啊,问题是数据库封装在DLL中,我不知道该怎么写这路径,没有做过哇。
大家能不能写个例子啊,简单一行就行啊
写得嫩复杂...
封装.DLL用访问修饰符.
连接数据库....晕了..
难道就一种访问方式.改个..晕.
访问地址干嘛,直接访问数据库..
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Reflection;
using System.IO;
using System.Diagnostics;namespace ResourceDemo
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
ArrayList pics;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.PictureBox pBox;
private System.Windows.Forms.Button btnDisplay;
private System.Windows.Forms.TextBox txtInfo;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null; public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent(); // Instantiate our ArrayList
pics = new ArrayList();
} /// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
} #region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.pBox = new System.Windows.Forms.PictureBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.btnDisplay = new System.Windows.Forms.Button();
this.txtInfo = new System.Windows.Forms.TextBox();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// pBox
//
this.pBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pBox.Location = new System.Drawing.Point(8, 8);
this.pBox.Name = "pBox";
this.pBox.Size = new System.Drawing.Size(264, 272);
this.pBox.TabIndex = 0;
this.pBox.TabStop = false;
this.pBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
//
// groupBox1
//
this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
this.txtInfo,
this.btnDisplay});
this.groupBox1.Location = new System.Drawing.Point(288, 8);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(192, 264);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
//
// btnDisplay
//
this.btnDisplay.Location = new System.Drawing.Point(48, 24);
this.btnDisplay.Name = "btnDisplay";
this.btnDisplay.Size = new System.Drawing.Size(96, 23);
this.btnDisplay.TabIndex = 0;
this.btnDisplay.Text = "Display Picture";
this.btnDisplay.Click += new System.EventHandler(this.button1_Click);
//
// txtInfo
//
this.txtInfo.Location = new System.Drawing.Point(8, 56);
this.txtInfo.Multiline = true;
this.txtInfo.Name = "txtInfo";
this.txtInfo.ReadOnly = true;
this.txtInfo.Size = new System.Drawing.Size(176, 200);
this.txtInfo.TabIndex = 2;
this.txtInfo.Text = "txtInfo";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(496, 293);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.groupBox1,
this.pBox});
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false); }
#endregion /// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
} private void button1_Click(object sender, System.EventArgs e)
{
// go to a random picture in our arraylist and
// display it
Random generator = new Random();
Bitmap bmp = pics[generator.Next(pics.Count)] as Bitmap;
if (!(null == bmp))
{
pBox.Image = bmp;
}
bmp = null;
generator = null;
} private void Form1_Load(object sender, System.EventArgs e)
{
Stream imgStream = null;
Bitmap bmp = null; // get a reference to the current assembly
Assembly a = Assembly.GetExecutingAssembly(); // get a list of resource names from the manifest
string[] resNames = a.GetManifestResourceNames(); // populate the textbox with information about our resources
// also look for images and put them in our arraylist
txtInfo.Clear(); txtInfo.Text += String.Format("Found {0} resources\r\n", resNames.Length);
txtInfo.Text += "----------\r\n";
foreach (string s in resNames)
{
txtInfo.Text += s + "\r\n";
if (s.EndsWith(".bmp"))
{
// attach to stream to the resource in the manifest
imgStream = a.GetManifestResourceStream(s);
if (!(null == imgStream))
{
// create a new bitmap from this stream and
// add it to the arraylist
bmp = Bitmap.FromStream(imgStream) as Bitmap;
if (!(null == bmp))
{
pics.Add(bmp);
}
bmp = null;
imgStream.Close();
imgStream = null;
}
}
}
txtInfo.Text += "----------\r\n";
txtInfo.Text += String.Format("Found {0} Bitmaps\r\n",
pics.Count);
}
}
}