2、使用SQL函数进行连接。
对于1、配置数据源,配置完以后就可以编程 *** 作数据库了。
对于2、使用SQL函数进行连接,参考代码如下:
#include<windows.h>
#include<sql.h>
#include<sqlext.h>
void main()
{
HENV henv //环境句柄
HDBC hdbc //数据源句柄
HSTMT hstmt //执行语句句柄
unsigned char datasource[]="数据源名称" //即<a href="https://www.baidu.com/s?wd=ODBC&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight">ODBC</a>源中设置的源名称
unsigned char user[]= "用户名" //数据库的帐户名
unsigned char pwd[]= "密码" //数据库的密码
unsigned char search[]="select xm from stu where xh=0"
SQLRETURN retcode//记录各SQL函数的返回情况
// 分配环境句柄
retcode= SQLAllocEnv(&henv) // 等介于 SQLAllocHandle(SQL_HANDLE_ENV, SQL_<a href="https://www.baidu.com/s?wd=NULL&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight">NULL</a>_HANDLE, &henv)
// 设置ODBC环境版本号为3.0
retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0)
// 分配连接句柄
retcode= SQLAllocConnect(henv,&hdbc)// 等介于 SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc)
//设置连接属性,登录超时为*rgbValue秒(可以没有)
// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0)
//直接连接数据源
// 如果是windows身份验证,第二、三参数可以是<a href="https://www.baidu.com/s?wd=NULL&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight">NULL</a>,也可以是任何字串
//SQL_NTS 即 "<a href="https://www.baidu.com/s?wd=Null&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLrHIWuWRsPWTvujD4P1Nb0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1mYP1R1n1cknW6sPWbzrj03Pf" target="_blank" class="baidu-highlight">Null</a>-Terminated String"
retcode= SQLConnect(hdbc,datasource, SQL_NTS, user, SQL_NTS , pwd, SQL_NTS )
//分配语句句柄
retcode= SQLAllocStmt(hdbc,&hstmt) // 等介于 SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt)
//直接执行查询语句
retcode=SQLExecDirect(hstmt,search,SQL_NTS)
//将数据缓冲区绑定数据库中的相应字段(i是查询结果集列号,queryData是绑定缓冲区,BUFF_LENGTH是缓冲区长度)
SQLBindCol(hstmt, i, SQL_C_CHAR, queryData[i-1], BUFF_LENGTH, 0)
//遍历结果集到相应缓冲区 queryData
SQLFetch(hstmt)
/*
*对遍历结果的相关 *** 作,如显示等
*/
//注意释放顺序,否则会造成未知错误!
SQLFreeHandle(SQL_HANDLE_STMT, hstmt)
SQLDisconnect(hdbc)
SQLFreeHandle(SQL_HANDLE_DBC, hdbc)
SQLFreeHandle(SQL_HANDLE_ENV, henv)
}
代码看上去很复杂,其实都可以直接复制。其中需要改的是数据源名称、数据库用户名、数据库密码和SQL语句。
然后就是SQLFetch后得到结果集后,如何使用的问题了。
在下面的注释部分 填写你的处理代码即可。
/*
*对遍历结果的相关 *** 作,如显示等
*/
用odbc或db-libary给你一小段db-library程序int CreateProc(PDBPROCESS * dbproc,char * pwd,char * sname)
{
PLOGINREC login
// char sname[20]
unsigned short num
// memset(sname,0,sizeof(sname))
login=dblogin()
DBSETLUSER(login,"sa")
if(strlen(pwd)>0)
{
DBSETLPWD(login,pwd)
}
DBSETLVERSION(login, DBVER60)
dbprocerrhandle(login,err_handler)
dbprocmsghandle(login,msg_handler)
// dbserverenum(LOC_SEARCH,sname,sizeof(sname),&num)
DBSETLTIME(login,20)
*dbproc=dbopen(login,sname)
if(*dbproc == NULL){
return ERR
}
dbuse(*dbproc,"ccenter")
dbfreelogin(login)
return OK
}
int check_grp_no(int grp_no, unsigned int * small_len)
{
int res=0
int cnt=0
dbcancel(dbproc)
dbfcmd(dbproc," select small_len from grp_table where grp_no=%d",grp_no)
res=dbsqlexec(dbproc)
if((res=dbresults(dbproc))==SUCCEED){
dbbind(dbproc,1,INTBIND,0,(unsigned char *)small_len)
while(dbnextrow(dbproc)!=NO_MORE_ROWS){
cnt++
return OK
}
}
return ERR
}
1. C#中怎么把数据保存到ACCESS数据库Sqlmand是 *** 作sql数据库的,Access用OleDbmand首先定义一个链接对象OleDbConnection conn = new OleDbConnection("[数据库连接字符串]");conn.Open(); 打开数据库连接OleDbmand cmd = new OleDbmand("[Insert/Update/Delte语句]", conn)cmd.ExecuteNonQuery(); 执行 *** 作,如果是查询则不是用这个方法 最后别忘记关闭数据库连接和释放对象。
2. C# 如何将 图片直接存入SQL数据库中
把文件转成二进制流出入数据库
private void button2_Click(object sender, EventArgs e)
{
FileStream fs = new FileStream(textBox1.Text, FileMode.Open)
BinaryReader br = new BinaryReader(fs)
Byte[] byData = br.ReadBytes((int)fs.Length)
fs.Close()
string conn = "server=.database=testDBUid=saPwd=sa "
SqlConnection myconn = new SqlConnection(conn)
myconn.Open()
string str = "insert into pro_table (pro_name,pro_file) values('测试文件',@file)"
Sqlmand mym = new Sqlmand(str, myconn)
mym.Parameters.Add("@file", SqlDbType.Binary, byData.Length)
mym.Parameters["@file"].Value = byData
mym.ExecuteNonQuery()
myconn.Close()
}
从数据库中把二进制流读出写入还原成文件
private void button4_Click(object sender, EventArgs e)
{
string conn = "server=.database=testDBUid=saPwd=sa "
string str = "select pro_file from pro_table where pro_name='测试文件' ";
SqlConnection myconn = new SqlConnection(conn)
SqlDataAdapter sda = new SqlDataAdapter(str, conn)
DataSet myds = new DataSet()
myconn.Open()
sda.Fill(myds)
myconn.Close()
Byte[] Files = (Byte[])myds.Tables[0].Rows[0]["pro_file"]
BinaryWriter bw = new BinaryWriter(File.Open("D:\\2.rdlc",FileMode.OpenOrCreate))
bw.Write(Files)
bw.Close()
}
3. c#如何把图片存取到SQL数据库
一楼开玩笑了!!可以保存到数据库的。
首先,你的数据库里要有一个存放二进制数据的字段。然后,用一个文件选择控件,让用户选择图片。
用FileStream.Read把图片文件按照二进制读取到byte[]中,接下来,链接数据库,用sql语句,进行相应的插入 *** 作,将数据库的二进制数据的字段赋值为byte[]就行了。以下是保存和显示的代码:private void SaveImage(string fileName) { Read the file into a byte array using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { byte[] imageData = new Byte[fs.Length]fs.Read(imageData, 0, (int)fs.Length)using (SqlConnection conn = new SqlConnection(connectionString)) { string sql = "insert into image (imagefilename,blobdata) values (@filename,@blobdata)"Sqlmand cmd = new Sqlmand(sql, conn)cmd.Parameters.Add("@filename",SqlDbType.Text)cmd.Parameters["@filename"].Direction = ParameterDirection.Inputcmd.Parameters.Add("@blobdata", SqlDbType.Image)cmd.Parameters["@blobdata"].Direction = ParameterDirection.InputStore the byte array within the image field cmd.Parameters["@filename"].Value = fileNamecmd.Parameters["@blobdata"].Value = imageDataconn.Open()if (cmd.ExecuteNonQuery() == 1) { MessageBox.Show("Done")} } } } private void LoadImage(string fileName) { using (SqlConnection conn = new SqlConnection(connectionString)) { string sql = "select blobdata from Image where ImageFileName like @filename"Sqlmand cmd = new Sqlmand(sql, conn)cmd.Parameters.Add("@filename", SqlDbType.Text)cmd.Parameters["@filename"].Value = fileNameconn.Open()object objImage = cmd.ExecuteScalar()byte[] buffer = (byte[])objImageBinaryWriter bw = new BinaryWriter(new FileStream("C:\\abcd.", FileMode.Create))bw.Write(buffer)bw.Close()MemoryStream ms = new MemoryStream(buffer)Image bgImage = Image.FromStream(ms)ms.Close()this.BackgroundImage = bgImage} } ------------------------------------------------------------------PS:用空情报我踩踩空间,谢谢。
/kxl361。
4. 如何将文件的路径存入SQL数据库中去
建一个表:JpgFiles,其中至少包含一个列:JpgPath,用来存放绝对路径的字符串,所以这个列需要用varchar,长度假设为50,不够的话自己再增加。
string strPath = @"d:\baidu\up"
string[] fileNames = System.IO.Directory.GetFiles(strPath)
SqlConnection Cn=new SqlConnection(这里写你的连接串);
Sqlmand Cmd=new Sqlmand("Insert JpgFiles values (@JpgPath)",Cn)
Cmd.Parameters.Add("@JpgPath",SqlDbType.VarChar,50)
foreach (string strName in fileNames)
{
Cmd.Parameters[0].Value=strName
Cmd.ExecuteNoQuery()
}
5. 怎样将数据存入mysql数据库
MySQL命令行导出数据库:
1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
(或者直接将windows的环境变量path中添加该目录)
2,导出数据库:mysqldump -u 用户名 -p 数据库名 >; 导出的文件名
如我输入的命令行:mysqldump -u root -p news >news.sql (输入后会让你输入进入MySQL的密码)
(如果导出单张表的话在数据库名后面输入表名即可)
3、会看到文件news.sql自动生成到bin文件下
命令行导入数据库:
1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
2,同上面导出的第1步
3,进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)
4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
5,输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news
6,导入文件:mysql>source 导入的文件名;
如我输入的命令行:mysql>source news.sql
6. 如何把文件存入到sql server 2008
1.MDF文件
在企业管理器中
右击数据库
点击所有任务
附加数据库
点三个点选择文件
选中U盘中的MDF文件确定即可
2.BAK等备份文件:
新建空数据库,取名最好为原数据库名.
右击新建的数据库
点所有任务
点还原数据库
点从设备
点选择设备
点添加
定位到U盘中您的备份的文件
确定
点选项
点在现有数据库上强制还原
点确定
等待
完成!
另外,站长团上有产品团购,便宜有保证
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)