access資料庫連接代碼
A. 給我個ACCESS資料庫連接的代碼,
Dim
Conn,ConnStr
'On
error
resume
next
Set
Conn=Server.CreateObject("Adodb.Connection")
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.MapPath("Data/*****.mdb")
Conn.open
ConnStr
if
err
then
err.clear
Set
Conn
=
Nothing
Response.Write
"系統正在自動維護,請稍後訪問..."
Response.End
這個Data/*****.mdb改成你的資料庫路徑就可以了。
end
if
B. C或C++語言連接ACCESS資料庫代碼是什麼
#include<stdio.h>
#include<string.h>
typedef struct{
char name[20];
int number;
int grade;
int class;
float mark[10];
float average;
}T;
void show(T *student,int *tp,int n) /* 把成績顯示在屏幕上 */
{
int i,j;
char a[3]=" ";
printf("***********************************************************\n");
printf(" name number grade class average order\n");
for(i=0;i<n;i++)
{
printf("-----------------------------------------------------------\n");
printf("%d:\n",i+1);
printf(" %s %d %d %d %f %d\n",student[tp[i]].name,student[tp[i]].number,student[tp[i]].grade,student[tp[i]].class,student[tp[i]].average,tp[i]+1);
printf("mark:");
for(j=0;j<2;j++)
printf("%s%d:%f",a,j+1,student[tp[i]].mark[j]);
printf("\n");
}
printf("***********************************************************\n");
printf("\n\n\n");
}
void writefile(T *student,int n) /* 把成績存在磁碟上 */
{
FILE *fp;
int i,j;
if((fp=fopen("d:\\kanwei.txt","w+"))==NULL)
{
printf("can't open file");
exit(0);
}
for(i=0;i<=n;i++)
{
fprintf(fp,"%s %d %d %d ",student[i].name,student[i].number,student[i].grade,student[i].class);
for(j=0;j<2;j++)
fprintf(fp,"%f ",student[i].mark[j]);
fprintf(fp,"%f\n",student[i].average);
}
fclose(fp);
}
void students(T *student,T *temp,int m,int n,int k) /* 實現兩個結構體的拷貝 */
{
int i;
if(k==0)
{
strcpy(student[n].name,temp[m].name);
student[n].number=temp[m].number;
student[n].grade=temp[m].grade;
student[n].class=temp[m].class;
for(i=0;i<2;i++)
student[n].mark[i]=temp[m].mark[i];
student[n].average=temp[m].average;
}
else if(k==1)
{
strcpy(temp[m].name,student[n].name);
temp[m].number=student[n].number;
temp[m].grade=student[n].grade;
temp[m].class=student[n].class;
for(i=0;i<2;i++)
temp[m].mark[i]=student[n].mark[i];
temp[m].average=student[n].average;
}
}
void addfile(T *student,int n) /* 加入新學生到文件 */
{
T temp[2];
int i,j=1;
float ave=0.0;
printf("Please input the student:\n");
printf(" name number grade class mark1 mark2\n");
printf("****************************************************\n");
scanf("%s",temp[0].name);
scanf("%d",&temp[0].number);
scanf("%d",&temp[0].grade);
scanf("%d",&temp[0].class);
for(i=0;i<2;i++)
{
scanf("%f",&temp[0].mark[i]);
ave=ave+temp[0].mark[i];
}
temp[0].average=ave=ave/2;
i=0;
while(ave<=student[i].average&&i<n)
i++;
students(student,temp,j%2,i,1); /* temp[j/2]=student[i]; */
students(student,temp,(j+1)%2,i,0); /* student[i]=stu; */
for(;i<n;i++)
{
j++;
students(student,temp,j%2,i+1,1); /* temp[(i+2)/2]=student[i+1]; */
students(student,temp,(j+1)%2,i+1,0); /* student[i+1]=temp[(i+1)/2]; */
}
writefile(student,i);
}
void showall(T *student,int n) /* 顯示文件中所有的學生 */
{
int i;
int a[30];
for(i=0;i<n;i++)
a[i]=i;
show(student,a,n);
}
int find(T *student,int n,int *tp) /* 在文件中查詢學生可以多行查詢 */
{
int k,im=0,i,m,num,gra,clas;
char na[20];
float ord;
printf("*******************************\n");
printf(" name n&g&c ave order\n");
printf(" 1 2 3 4 \n");
printf("*******************************\n");
scanf("%d",&k);
switch(k)
{
case 1:
scanf("%s",&na);
for(i=0;i<n;i++)
{
if(strcmp(student[i].name,na)==0)
{
tp[im++]=i;
}
}
break;
case 2:
scanf("%d%d%d",&num,&gra,&clas);
for(i=0;i<n;i++)
{
if(student[i].number==num&&student[i].grade==gra&&student[i].class==clas)
{
tp[im++]=i;
}
}
break;
case 3:
scanf("%f",&ord);
for(i=0;i<n;i++)
{
if(ord==student[i].average)
{
tp[im++]=i;
}
}
break;
case 4:
scanf("%d",&m);
if(m<=n)
{
tp[im++]=m-1;
}
break;
case 5:
break;
default:
printf("error operate!\n");
exit(0);
}
if(im>=1)
show(student,tp,im);
if(im==0&&k<5&&k>=1)
printf("cant find!\n");
return(im);
}
dele(T *student,int n,int *tp) /* 對某個學生進行刪除 */
{
int j;
printf("choose the student:\n");
j=find(student,n,tp);
if(j>=1)
{
if(j>1)
{
printf("Which one do you want to choose?\n");
scanf("%d",&j);
j=tp[j-1];
}
else
j=tp[0];
for(;j<n-1;j++)
students(student,student,j+1,j,0);
writefile(student,j-1);
}
}
void modify(T *student,int n,int *tp) /* 對某個學生進行修改 */
{
dele(student,n,tp);
addfile(student,n-1);
}
void readfile(int m) /* 讀取文件中的數據,程序的基礎 */
{
FILE *fp;
T student[30];
float mark[10],ave;
int i=0,j,tp[20];
if((fp=fopen("d:\\kanwei.txt","a+t"))==NULL)
{
printf("can't open file");
exit(0);
}
while(fscanf(fp,"%s%d%d%d",student[i].name,&student[i].number,&student[i].grade,&student[i].class)!=EOF)
{
for(j=0;j<2;j++)
{
fscanf(fp,"%f",&mark[j]);
student[i].mark[j]=mark[j];
}
fscanf(fp,"%f",&ave);
student[i].average=ave;
i++;
}
fclose(fp);
switch(m)
{
case 1:
find(student,i,tp);
break;
case 2:
addfile(student,i);
break;
case 3:
dele(student,i,tp);
break;
case 4:
modify(student,i,tp);
break;
case 5:
showall(student,i);
break;
default:
exit(0);
}
}
main() /* 主程序 */
{
int i=1;
while(i)
{
printf(" Choose the operate:\n");
printf("******************************************************\n");
printf(" find add delete modify showall exit\n");
printf(" 1 2 3 4 5 0\n");
printf("******************************************************\n");
scanf("%d",&i);
readfile(i);
}
}
(這是一個關於成績系統的,下面的可以參照,我也不知道是做什麼的。)
用ODBC吧,不過還是要用到MFC..知道創建數據源嗎? 首先創建一個名為rsgl(舉例而已,自己取個)的數據源連接資料庫,然後寫如下代碼通過數據源訪問資料庫:
C/C++ code
#include "afxdb.h"
//---------------------------------------------------------------
// Create and open a database object;
// do not load the cursor library
CDatabase db;
//db.OpenEx( NULL, CDatabase::forceOdbcDialog );
db.OpenEx( "DSN=[color=#FF0000]rsgl[/color];UID=;PWD=", CDatabase::noOdbcDialog );
// Create and open a recordset object
// directly from CRecordset. Note that a
// table must exist in a connected database.
// Use forwardOnly type recordset for best
// performance, since only MoveNext is required
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly,
_T( "SELECT * FROM system_table" ) );
// Create a CDBVariant object to
// store field data
CDBVariant varValue;
// Loop through the recordset,
// using GetFieldValue and
// GetODBCFieldCount to retrieve
// data in all columns
short nFields = rs.GetODBCFieldCount( );
while( !rs.IsEOF( ) )
{
for( short index = 0; index < nFields; index++ )
{
rs.GetFieldValue( index, varValue );
// do something with varValue
AfxMessageBox(*varValue.m_pstring);
}
rs.MoveNext( );
}
rs.Close( );
db.Close( );
(不知道有沒有用,我其他地方找的。)
C. 如何用vb連接access資料庫(代碼編寫)
app.path是指程序的相對路徑。可以防止你寫絕對路徑後,如你的電腦可能有G盤,而其他人的電腦里沒有G盤,那你寫的絕對路徑就不可用,程序也就相對他來講是處廢品。app.path可獲取到你正在運行的程序的路徑,能存放你程序的路徑,那他下面也就可以再存你的資料庫(你可以在這目錄下再新一個文件夾存資料庫)
rs1.Open
sql,
cn
其中cn是連接對象,rs1是記錄集,sql是查詢語句
你都知道這三個變數的意思,這句話也應該不難理解。直接譯出來
sql
=
"select
*
from
表名"
檢索「表名」里的所有記錄
rs1.close是關閉rs1.open語句的。
引號里的是字元串
加號是連接符,通加在不作加減運算時最好是用"&"代替。可防止出錯。
如
a="123"+"456"
a的結果是"123456"
a="123"
&
"456"
a的結果還是"123456"
下面沒有加引號是數值可以用作運算計算出結果。上面的是字元串不能運算出結果。
a=123+456
a的結果是579
a=123
&
456
a的結果還是123456
D. 如何使用ODBC來連接ACCESS資料庫
作步驟如下:
(1)單擊「開始」按鈕,選擇「程序」→「管理工具」→「數據源(ODBC)」命令,打開「ODBC數據源管理器」對話框,打開「系統DSN」選項卡。
(2)單擊「添加」按鈕,打開「創建新數據源」對話框,選擇安裝數據源的驅動程序,這里選擇「Microsoft Access Driver (*.mdb)」,如圖2.6所示。
選擇安裝數據源的驅動程序
(3)單擊「完成」按鈕,打開「ODBC Microsoft Access 安裝」對話框,填寫「數據源名」及相關「說明」,並指定所要連接資料庫的路徑,如圖2.7所示。
「ODBC Microsoft Access 安裝」對話框
(4)單擊「確定」按鈕,完成配置系統DSN的操作。
使用ODBC方法連接Access資料庫的代碼如下:
常式2-2 代碼位置:光碟\mr\2\2.2\2.2.1\02\conn.asp
<%
Dim Conn
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=AccessDSN"
%>
如果Access資料庫設有密碼,可以使用以下代碼連接資料庫:
<%
Dim Conn
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=AccessDSN;uid=admin;pwd=123456;"
%>
E. php連接access資料庫代碼
php教程
連接access資料庫教程代碼
下面提供三種php連接access資料庫方法,一種是利用php的pdo,一種是odbc,com介面來與access資料庫連接哦。
*/
//利用pdo與access資料庫連接
$path
="f:fontwww.111cn.netspiderresult.mdb";
$conn
=
new
pdo("sqlite:$path");
if(
$conn
)
{
echo
('connection
pdo
success');
}
else
{
echo
('cnnection
pdo
fail
,plase
check
database
server!');
}
//利用
odbc_connect連接資料庫
$conn
=
odbc_connect("dbdsn","admin","123");
//連接數據源
$doquery=odbc_exec($conn,"select
*
from
表名
where
條件");//執行查詢
//利用com介面連接access資料庫
$conn=new
com("adodb.connection");
$dsn="driver={microsoft
access
driver
(*.mdb)};dbq=".realpath("path/db1.mdb");
$conn->open($dsn);
F. NetBeans和Access資料庫的鏈接代碼
有了以上代碼,你關鍵要做的是:開始->控制面板->管理工具->數據源->在「用戶DSN」下
添加->選擇「Driver
do
Microsoft
Access(*mdb)
」->完成->進入「ODBC
Microsoft
Access
安裝」界面,填好你「數據源名」,「選擇」
你的創建的
Access資料庫
,確定就行了。。。
注意:你的「數據源名」,「選擇」Access資料庫
要跟你以上程序中的一致
G. 連接帶密碼的ACCESS資料庫的ASP代碼是什麼
<% dim conn,mdbfile mdbfile=server.mappath("資料庫名稱.mdb") set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=資料庫密碼;dbq="&mdbfile %>
求採納
H. 如何用vba代碼將access資料庫連接求代碼
Microsoft Office Access是由微軟發布的關系資料庫管理系統。它結合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office 的系統程序之一。用vba代碼將access資料庫連接求代碼,代碼如下:
Sub FYMXDL()
Dim XQID As Integer
Dim JZID As Integer
Dim FYID As Integer
Dim FBXZ As String '分包性質
Dim DW As String
Dim SARR(1 To 31) As Double
Dim rst As New ADODB.Recordset
mYpath = ThisWorkbook.Path & "jzfydata.accdb"
Set cONn = CreateObject("ADODB.Connection")
cONn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0;Data Source=" & mYpath
cONn.ConnectionString = cONn.ConnectionString & ";Jet OLEDB:Database "
cONn.Open
XQID = Cells(3, 2).Value
JZID = Cells(3, 5).Value
'清空改小區-建築的費用明細
Sql = "delete from fymxb where 小區ID=" & XQID & " AND 建築ID = " & JZID
cONn.Execute Sql
Const kshh = 7
hh = kshh
Do While Cells(hh, 3).Value > 0
FYID = Cells(hh, 3).Value
FBXZ = Cells(hh, 11).Text
For i = 1 To 31
SARR(i) = Round(Cells(hh, 13 + i - 1).Value, 2)
Next i
Sql = Sql & "," & SARR(i)
Next i
Sql = Sql & " )"
cONn.Execute Sql
hh = hh + 1
Loop
End Sub
I. 如何用vba代碼將access資料庫連接求代碼
下面這段程序是連接資料庫,並將excel表格內容寫入資料庫。代碼如下:
Sub FYMXDL()
Dim XQID As Integer
Dim JZID As Integer
Dim FYID As Integer
Dim FBXZ As String '分包性質
Dim DW As String
Dim SARR(1 To 31) As Double
Dim rst As New ADODB.Recordset
mYpath = ThisWorkbook.Path & "\jzfydata.accdb"
Set cONn = CreateObject("ADODB.Connection")
cONn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0;Data Source=" & mYpath
cONn.ConnectionString = cONn.ConnectionString & ";Jet OLEDB:Database "
cONn.Open
XQID = Cells(3, 2).Value
JZID = Cells(3, 5).Value
'清空改小區-建築的費用明細
Sql = "delete from fymxb where 小區ID=" & XQID & " AND 建築ID = " & JZID
cONn.Execute Sql
Const kshh = 7
hh = kshh
Do While Cells(hh, 3).Value > 0
FYID = Cells(hh, 3).Value
FBXZ = Cells(hh, 11).Text
For i = 1 To 31
SARR(i) = Round(Cells(hh, 13 + i - 1).Value, 2)
Next i
Sql = "INSERT INTO fymxb(小區ID,建築ID,費用ID,分包性質,工作量,單價合計_中標,人工費_中標, 主材費_中標, 輔材費_中標, 機械費_中標, 管理費_中標, 利潤_中標,規費_中標,稅金_中標,合價_中標,單價合計_標准成本,人工費_標准成本,主材費_標准成本,輔材費_標准成本,機械費_標准成本,管理費_標准成本,利潤_標准成本,規費_標准成本,稅金_標准成本,合價_標准成本,單價合計_實際成本,人工費_實際成本,主材費_實際成本,輔材費_實際成本,機械費_實際成本,管理費_實際成本,利潤_實際成本,規費_實際成本,稅金_實際成本,合價_實際成本) VALUES (" & XQID & ", " & JZID & ", " & FYID & ", '" & FBXZ & "'"
For i = 1 To 31
Sql = Sql & "," & SARR(i)
Next i
Sql = Sql & " )"
cONn.Execute Sql
hh = hh + 1
Loop
End Sub
J. vb access資料庫連接代碼問題
使用Access資料庫必須先安裝Microsoft
Access
但VB6與不同版本mdb資料庫是有兼容性問題的。
VB6
SP2版本支持Access2003、2000、97版本
VB6非SP2支持Access2000和97
VB5隻支持Access97
所以要確保你安裝了正確版本的Access和VB版本,否則有資料庫也沒法用。
你這個錯誤提示就是這類問題,建議換用VB2008連接Access資料庫,兼容性很好,用起來也方便。