sql頭文件
1. sql server 資料庫頭文件損壞 怎麼恢復,急!急!急!
SQL的資料庫是經過加密的,不能直接讀取數據記錄的。
如果僅是頭文件損壞,可以把以前備份的頭文件和現在的內容部分合並,把它變成新的資料庫文件。
2. vs2005怎麼調用sql語句,需要加什麼頭文件
先添加命名空間
using System.Data;
using System.Data.SqlClient;
後用下面代碼處理,只用你的一個語句是不行的。
//sql 連接字元串
string constr="server=.;database=你資料庫的名稱;uid=sa;pwd=;";
SqlConnection conn = new SqlConnection(constr);
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
comm.CommandType = CommandType.Text;
//這里就是你要執行的SQL語句
comm.CommandText = "update status=4 from abc where id = 0001";
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
comm.ExecuteNonQuery();
conn.Close();
上面語句對不同的資料庫系統稍有不同,注意把第一句中的「你資料庫的名稱」改成你所用資料庫的名字。
3. c語言中,用ODBC操作SQL SERVER資料庫一般需要加什麼頭文件
Odbcinst.h
Sql.h
Sqlext.h
Sqltypes.h
Sqlucode.h
Msdasql.h
Msdadc.h
4. c語言讀取mysql庫中的數據的程序頭文件怎麼設置
Mysql C API編程步驟
1、首先我們要包含mysql的頭文件,並鏈接mysql動態庫。即添加以下語句:
#include <WinSock2.h> // 進行網路編程需要winsock2.h
#include <mysql.h>
#pragma comment(lib, 「libmysql.lib」)
2、創建MYSQL變數。如:
MYSQL mysql;
3、初始化MYSQL變數。
mysql_init(&mysql);
4、調用mysql_real_connect函數連接Mysql資料庫。mysql_real_connect函數的原型如下:
MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsigned long clientflag);
參數說明:mysql–前面定義的MYSQL變數;host–MYSQL伺服器的地址;user–登錄用戶名;passwd–登錄密碼;db–要連接的資料庫;port–MYSQL伺服器的TCP服務埠;unix_socket–unix連接方式,為NULL時表示不使用socket或管道機制;clientflag–Mysql運行為ODBC資料庫的標記,一般取0。連接失敗時該函數返回0。
5、調用mysql_real_query函數進行資料庫查詢。mysql_real_query函數的原型如下:
int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length);
參數說明:mysql–前面定義的MYSQL變數;q–SQL查詢語句;length–查詢語句的長度。
查詢成功則該函數返回0。
6、通過調用mysql_store_result或mysql_use_result函數返回的MYSQL_RES變數獲取查詢結果數據。
兩個函數的原型分別為:
MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql);
MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql);
這兩個函數分別代表了獲取查詢結果的兩種方式。第一種,調用mysql_store_result函數將從Mysql伺服器查詢的所有數據都存儲到客戶端,然後讀取;第二種,調用mysql_use_result初始化檢索,以便於後面一行一行的讀取結果集,而它本身並沒有從伺服器讀取任何數據,這種方式較之第一種速度更快且所需內存更少,但它會綁定伺服器,阻止其他線程更新任何錶,而且必須重復執行mysql_fetch_row讀取數據,直至返回NULL,否則未讀取的行會在下一次查詢時作為結果的一部分返回,故經常我們使用mysql_store_result。
7、調用mysql_fetch_row函數讀取結果集數據。
上述兩種方式最後都是重復調用mysql_fetch_row函數讀取數據。mysql_fetch_row函數的原型如下:
MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);
參數result就是mysql_store_result或mysql_use_result的返回值。
該函數返回MYSQL_ROW型的變數,即字元串數組,假設為row,則row〔i〕為第i個欄位的值。當到結果集尾部時,此函數返回NULL。
8、結果集用完後,調用mysql_free_result函數釋放結果集,以防內存泄露。mysql_free_result函數的原型如下:
void STDCALL mysql_free_result(MYSQL_RES *result);
9、不再查詢Mysql資料庫時,調用mysql_close函數關閉資料庫連接。mysql_close函數的原型為:
void STDCALL mysql_close(MYSQL *sock);
5. plsql怎麼生成ddl文件
首先打開軟體Visual studio 2008,菜單中選擇文件-> 新建 -> 項目
6. linux gcc mysql 如何在C語言中使用嵌入式SQL編程 要什麼頭文件如何編譯越詳細越好
最起碼包含mysql.h
實例代碼:
#include <stdlib.h>
#include <stdio.h>
#include "mysql.h"
int main(int argc, char *argv[]) {
MYSQL *conn_ptr;
conn_ptr = mysql_init(NULL);
if (!conn_ptr) {
fprintf(stderr, "mysql_init failed\n");
return EXIT_FAILURE;
}
conn_ptr = mysql_real_connect(conn_ptr, "localhost", "rick", "secret",
"foo", 0, NULL, 0);//連接資料庫
if (conn_ptr) {
printf("Connection success\n");
} else {
printf("Connection failed\n");
}
mysql_close(conn_ptr);
return EXIT_SUCCESS;
}
編譯:(假定上面文件取名 con.c,在當前目錄下)
gcc -I/usr/include/mysql con.c -L/usr/lib/mysql -lmysqlclient -o con
7. sql數據定義功能是什麼
sql數據定義功能是:用於定義和修改資料庫對象。
Sql語句分為三大類:數據定義語言,負責創建、修改、刪除表、索引、視圖、函數、存儲過程和觸發器等對象;數據操縱語言,負責資料庫中數據的插入、修改、刪除等操作;數據控制語言,用來授予和撤銷用戶許可權。
數據定義語言 (Data Definition Language, DDL) 是SQL語言集中負責數據結構定義與資料庫對象定義的語言,由CREATE、ALTER與DROP三個語法所組成,最早是由 Codasyl (Conference on Data Systems Languages) 數據模型開始,現在被納入 SQL 指令中作為其中一個子集。
DDL描述的模式,必須由計算機軟體進行編譯,轉換為便於計算機存儲、查詢和操縱的格式,完成這個轉換工作的程序稱為模式編譯器。
模式編譯器處理模式定義主要產生兩種類型的數據:數據字典以及數據類型和結構定義。
數據字典和資料庫內部結構信息是創建該模式所對應的資料庫的依據,根據這些信息創建每個資料庫對應的邏輯結構;對資料庫數據的訪問、查詢也根據模式信息決定數據存取的方式和類型,以及數據之間的關系和對數據的完整性約束。
數據字典是模式的內部信息表示,數據字典的存儲方式對不同的DBMS各不相同。
數據類型和結構的定義,是指當應用程序與資料庫連接操作時,應用程序需要了解產生和提取的數據類型和結構。是為各種宿主語言提供的用戶工作區的數據類型和結構定義,使用戶工作區和資料庫的邏輯結構相一致,減少數據的轉換過程,這種數據類型和結構的定義通常用一個頭文件來實現。
資料庫模式的定義通常有兩種方式: 交互方式定義模式和通過數據描述語言DDL 描述文本定義模式。
8. 急求C語言<sqlca.h>頭文件源代碼!!~~
#ifndef POSTGRES_SQLCA_H
#define POSTGRES_SQLCA_H
#ifndef DLLIMPORT
#ifdef __CYGWIN__
#define DLLIMPORT __declspec (dllimport)
#else
#define DLLIMPORT
#endif /* __CYGWIN__ */
#endif /* DLLIMPORT */
#define SQLERRMC_LEN 70
#ifdef __cplusplus
extern "C"
{
#endif
struct sqlca
{
char sqlcaid[8];
long sqlabc;
long sqlcode;
struct
{
int sqlerrml;
char sqlerrmc[SQLERRMC_LEN];
} sqlerrm;
char sqlerrp[8];
long sqlerrd[6];
/* Element 0: empty */
/* 1: OID of processed tuple if applicable */
/* 2: number of rows processed */
/* after an INSERT, UPDATE or */
/* DELETE statement */
/* 3: empty */
/* 4: empty */
/* 5: empty */
char sqlwarn[8];
/* Element 0: set to 'W' if at least one other is 'W' */
/* 1: if 'W' at least one character string */
/* value was truncated when it was */
/* stored into a host variable. */
/*
* 2: if 'W' a (hopefully) non-fatal notice occured
*/ /* 3: empty */
/* 4: empty */
/* 5: empty */
/* 6: empty */
/* 7: empty */
char sqlext[8];
};
extern DLLIMPORT struct sqlca sqlca;
#ifdef __cplusplus
}
#endif
#endif
9. 嵌入式sql語句怎麼才能在C語言運行,比如這個C程序,需要什麼頭文件之類的嗎
這種程序需要先使用資料庫編程軟體的編譯器編譯生成.c文件後,才可以再使用C編譯器對.c文件進行編譯。比如Oracle的ProC和informix的ESQL/C。
建議查看一下ProC和ESQL/C方面的資料。
10. c中 使用嵌入式 SQL需要載入什麼頭文件和庫
嵌入式SQL程序的VC+SQL
server
2000實現的環境配置
嵌入SQL的C應用程序具體到VC++6.0,
SQL
Server2000
下調試可分為五步:1、環境初始化;2、預編譯;3、編譯;4、連接;5、運行。下面就其中重要的的操作方法給以詳細說明。
1、環境初始化
(1)
SQL
Server2000為其嵌入式SQL提供了一此特殊的介面;默認的安裝方式沒有安裝這此介面;因此,需要把devtools.rar解壓到SQLServer的系統日錄下(即文件夾devtools中的所有文件);如果操作系統安裝在C盤,則SQL
Server的系統目錄是C:\Program
Files\Microsoft
SQL
Server。(或
在安裝Microsoft
SQL
Server
2000時選擇安裝Development
Tools,為使用嵌入式SQL語言准備必要的頭文件和庫文件。)
(
2)初始化Visual
C++
6.0編譯器環境。在命令行方式下運行文件\Microsoft
Visual
Studio\VC98\Bin\vcvars32.bat。
(3)初始化SQL
Server的預編譯環境。在命令行方式下運行文件:\Devtools\samples\esqlc\setenv.bat。
(
4)
VC++6.0環境配置。具體配置分為如下三步[:
①Tools->options->directories->Include
Files:添加
C:\Program
Files\Microsoft
SQL
Server\devtools\include。將SQL
server自帶的用於資料庫開發的頭文件包含到工程環境中。
②Tools->options->directories->Lib
Files:添加C:\Program
Files\Microsoft
SQL
Server\devtools\x861ib。將開發用到的包包含到工程中。
③project->Settings->Link->Object/Library
Moles,添加庫文件:SQLakw32.lib,
Caw32.lib。這兩個文件之間用空格分開。
2、預編譯
C語言編譯程序不能識別應用程序中的SQL語句,需要經過預處理程序將其轉換成C語句。SQL
Server的預處理程序是nsqlprep.exe。
nsqlprep.exe在SQL
Server安裝日錄的MSSQL\Binn下。若SQL
Server資料庫採用的是默任安裝方式,則需要把binn.rar的內容拷貝到指定目錄下。
Microsoft
SQL
Server
2000提供的預編譯程序nsqlprep.exe,用於對嵌入式SQL程序進行預編譯處理,生成C語言源程序.實際上就是將嵌入式SQL程序中的嵌入式SQL語句替換為對運行時庫文件Sqlakw32.
dll的函數調用,接著運行時庫文件調用動態連接庫Ntwdblib.
dll通過網路來存取Microsoft
SQL
Server
2000資料庫伺服器.
預編譯程序nsqlprep的常用語法為:
nsqlprep
ESQL_File
/SQLACCESS
/DB
server_name.database_name
/PASS
login.password
其中ESQL_File是要預編譯的嵌入式SQL程序;/SQLACCESS通知nsqlprep自動地為嵌入式SQL程序中的靜態SQL語句創建相應的存儲過程;/DB
server_name.database_name指明要連接的伺服器以及資料庫名稱;/PASS
login.password給出登錄名及相應的口令.
下面的程序demo.sqc實現了從資料庫伺服器hushaobo的資料庫pubs中的authors表中讀取au_lname為white的人對應的
au_fname
值,並保存到變數first_name
中顯示出來。(連接資料庫的用戶為sa,對應密碼為1982)
#include<stdio.h>
void
main()
{
EXEC
SQL
BEGIN
DECLARE
SECTION;
char
first_name[40];
char
last_name[]="White";
EXEC
SQL
END
DECLARE
SECTION;
EXEC
SQL
CONNECT
TO
hushaobo.pubs
USER
sa.1982;
EXEC
SQL
SELECT
au_fname
INTO
:first_name
from
authors
WHERE
au_lname
=
:last_name;
EXEC
SQL
DISCONNECT
ALL;
printf("first
name:
%s
\n",first_name);
}
在命令行下運行:nsqlprep
demo.sqc
/SQLACCESS
/DB
hushaobo.pubs
/PASS
sa.1982
則生成demo.c,將該文件添加到VC工程中編譯即可。
3、編譯,連接與運行
在VC++6.0中創建一個
"WIN32
Console
Application"的Proiect,然後將預編譯生成的c文件加入Proiect,編譯連接即可生成訪問SQL
Server的可執行程序。
Visual
C++
6.0進行編譯連接時需要用到動態鏈接庫SQLakw32.d11與SQLaiw32.d11;盡管這兩個文件已經隨同binn.rar被拷貝到SQLServer安裝目錄的MSSQL\Binn文件夾下,但仍然需要把它們的路徑加到系統路徑變數中,以使得程序運行時能找到它們,具體添加方法如下:
方法1:把這兩個文件拷貝到操作系統目錄下的system32子目錄中。
方法2:我的電腦->屬性->高級->環境變數->path->編輯,在變數值中加入路徑值;新路徑與已有路徑間用;間隔。
注意調適程序時,文件名中不要包含cursor,否則可能會出錯。