数据库操作源码
一、配置:
1.设置SQLSERVER服务器为SQL登录方式,并且系统安全性中的sa用户要设置登录功能为“启用”,还有必须要有密码。
2.需要在ODBC中进行数据源配置,数据源选”SQL SERVER”,登录方式使用“使用输入用户登录ID和密码的SQL SERVER验证”,并填写登录名(sa)和密码,注意一点,密码不能为空,这就意味着你的sa用户必须得有密码。否则无法通过系统本身的安全策略。测试通过就完成了配置。
二、连接初始化
1.在你所建立的C++项目中的stdafx.h头文件中引入ADO
具体代码如下
#import"c:.dll"
no_namespacerename("EOF","adoEOF")rename("BOF","adoBOF")
2.定义_ConnectionPtr变量后调用Connection对象的Open方法建立与服务器的连接。
数据类型_ConnectionPtr实际上是由类模板_com_ptr_t得到的一个具体的实例类。_ConnectionPtr类封装了Connection对象的Idispatch接口指针及其一些必要的操作。可以通过这个指针操纵Connection对象。
例如连接SQLServer数据库,代码如下:
//连接到MSSQLServer
//初始化指针
_ConnectionPtrpMyConnect=NULL;
HRESULThr=pMyConnect.CreateInstance(__uuidof(Connection));
if(FAILED(hr))
return;
//初始化链接参数
_bstr_tstrConnect="Provider=SQLOLEDB;
Server=127.0.0.1;
Database=mytest;
uid=sa;pwd=sa;";//Database指你系统中的数据库
//执行连接
try
{
//Open方法连接字串必须四BSTR或者_bstr_t类型
pMyConnect->Open(strConnect,"","",NULL);
}
catch(_com_error&e)
{
MessageBox(e.Description(),"警告",MB_OK|MB_ICONINFORMATION);
}//发生链接错误
三、简单的数据连接
//定义_RecordsetPtr变量,调用它Recordset对象的Open,即可打开一个数据集
//初始化过程以下是个实例
_RecordsetPtrpRecordset;
if(FAILED(pRecordset.CreateInstance(__uuidof(Recordset))))
{
return;
}
//执行操作
try
{
pRecordset->Open(_variant_t("userinfo"),
_variant_t((IDispatch*)pMyConnect),
adOpenKeyset,adLockOptimistic,adCmdTable);
}
catch(_com_error&e)
{
MessageBox("无法打开userinfo表","系统提示",
MB_OK|MB_ICONINFORMATION);
}
四、执行SQL语句
这里是关键,我认为只要你懂点SQL语句那么一切都会方便许多比用上面的方法简单,更有效率点。
首先
m_pConnection.CreateInstance(_uuidof(Connection));
//初始化Connection指针
m_pRecordset.CreateInstance(__uuidof(Recordset));
//初始化Recordset指针
CStringstrSql="select*fromtb_e_goods";//具体执行的SQL语句
m_pRecordset=m_pConnection->Execute(_bstr_t(strSql),
NULL,adCmdText);//将查询数据导入m_pRecordset数据容器
至此 你的SQL语句已经执行完成了m_pRecordset内的数据就是你执行的结果。
取得记录:
while(!m_pRecordset->adoEOF)//遍历并读取name列的记录并输出
{
CStringtemp=(TCHAR*)(_bstr_t)m_pRecordset->GetFields()->GetItem
("name")->Value;
AfxMessageBox(temp);
pRecordset->MoveNext();
}
五、插入记录
//记得初始化指针再执行以下操作
CStringstrsql;
strsql.Format("insertintotb_e_goods(no,name,price)
values('%d','%s',%d)",m_intNo,m_strName,m_intPrice);
m_pRecordset=m_pConnection->
Execute(_bstr_t(strsql),NULL,adCmdText);
六、修改记录
CStringstrsql;
strsql.Format("updatetb_e_goodssetname='%s',
price=%dwhereno=%d",m_strName,m_intPrice,m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText);
七、删除记录
CStringstrsql;
strsql.Format("deletefromtb_e_goodswhereno='%d'",m_intNo);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText)A
其实要想使用C++玩转SQLServer,最主要的还是要对SQL语句有所了解,才能方便的操作数据库
⑵ 请高手帮忙写一个对数据库操作的java小程序!求源码!
public class Mdbda {
Statement stat;
Connection con = null;
//private String strConnect ="jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=E:\\sql\\ffxx.accdb;";
//类
public Mdbda() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb, *.accdb);DBQ=E://sql//jxjyExam.accdb";
con = DriverManager.getConnection(url);
stat = con.createStatement();
} catch (ClassNotFoundException ex) {
System.out.println("加载驱动失败");
} catch (SQLException ex) {
Logger.getLogger(Mdbda.class.getName()).log(Level.SEVERE, null, ex);
}
}
public List getOtherDa(String where) {
List list = new ArrayList();
try {
String action = "select * from exam " + where;
ResultSet rs = null;
rs = stat.executeQuery(action);
while (rs.next()) {
String content=rs.getString("content");
list.add(content);
// System.out.println(content);
}
rs.close();
stat.close();
con.close();
} catch (SQLException ex) {
Logger.getLogger(Mdbda.class.getName()).log(Level.SEVERE, null, ex);
}
return list;
}
}
其他类中直接调用 new Mdbda().getOtherDa()就可以获取。
以上是access
⑶ C#winform程序对access数据库进行增删查改操作源码,叮当小马的就不用发了
不懂。你这是要OLE得操作方法么?
算了。代码给出。我这个是SQL得。你改成OLEDB的就能用了。够详细吧!
===========================================================
string conn="Server=服务器名;Database=数据库名;uid=数据库用户名;pwd=数据库密码";
SqlConnection sqlconn=new SqlConnection(conn);//连接到数据库
=========================================================
表的基本操作的语句要SQL的:
添加语句:Insert into 表名 values(字段名1,字段名2)
修改语句:Update 表明
set 字段名1=修改的值,字段名1=修改的值
where 字段名=所修改的记录字段名
删除语句:delete 表名 where 字段名=所要删除字段的名称
查询语句:select * from 表名
=================================================================
例:
数据库名为:Test, 数据库用户名为:sa , 数据库密码:123
有表名为:Admin
该表的字段:id(int)、name(varchar(8))、pwd(varchar(8))
id name pwd
1 aa 123
2 bb 456
3 cc 789
=========================================
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
public string sql;
protected void Page_Load(object sender, EventArgs e)
{
sql = "select * from Admin"; //查询语句
bind(sql);
}
protected void bind(string sql)
{
string conn="Server=.;DataBase=Test;uid=sa;pwd=123";
SqlConnection sqlconn=new SqlConnection(conn);
SqlCommand cmd=new SqlCommand(sql,sqlconn);
sqlconn.Open();
SqlDataReader dr = cmd.ExecuteReader();
GridView1.DataSource=dr;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
sql = "delete Admin where id=" + Convert.ToInt32(TextBox1.Text);//删除语句
string conn = "Server=.;DataBase=Test;uid=sa;pwd=123";
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand(sql, sqlconn);
sqlconn.Open();
cmd.ExecuteReader();
bind("select * from Admin");
}
protected void Button2_Click(object sender, EventArgs e)
{
sql = "insert into Admin values('" + TextBox2.Text + "','" + TextBox3.Text + "')";//添加语句
string conn = "Server=.;DataBase=Test;uid=sa;pwd=123";
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand(sql, sqlconn);
sqlconn.Open();
cmd.ExecuteReader();
bind("select * from Admin");
}
protected void Button3_Click(object sender, EventArgs e)
{
sql = "update Admin set name='" + TextBox5.Text + "',pwd='" + TextBox6.Text + "' where id=" + Convert.ToInt32(TextBox4.Text);//修改语句
string conn = "Server=.;DataBase=Test;uid=sa;pwd=123";
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand(sql, sqlconn);
sqlconn.Open();
cmd.ExecuteReader();
bind("select * from Admin");
}
⑷ 我下了个asp.net源码,里面的数据库怎么操作
这样直接进行附加数据库就可以。
点击数据库节点右键然后任务里面有个附加数据库。找到附加上就可以了。
希望对你有帮助。不懂继续追问!
⑸ 谁能给我一段写入数据库的源码简单点的。
conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "数据库路径" & "数据库名称"
set rsUserInfo=server.CreateObject("adodb.recordset")
mysql = "SELECT * FROM 表名称"
rsUserInfo.Open mysql,conn,3,3
rsUserInfo.Addnew()
rsUserInfo("字段名称") = Trim(变量名称)
rsUserInfo.update()
rsUserInfo.close()
set rsUserInfo=Nothing
以上代码中的conn是你的数据库连接,你首先要确定你的数据库连接已经建立成功,否则无法正确运行。
我以上给出的代码是在数据库中新插入一条记录,如果你是要修改数据库中的记录可以用下面的,
conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "数据库路径" & "数据库名称"
set rsUserInfo=server.CreateObject("adodb.recordset")
mysql = "SELECT * FROM 表名称 WHERE 要修改记录的ID="&返回的ID
rsUserInfo.Open mysql,conn,3,3
If Not rsUserInfo.eof Then
rsUserInfo("字段名称") = Trim(变量名称)
rsUserInfo.update()
Else
Response.write("没有找到对应的记录")
End If
rsUserInfo.close()
set rsUserInfo=Nothing
⑹ 你有一个简单的数据库的源代码吗最好用Java实现的...
class ConnectionProvider{
private static String JDBC_DRIVER;
private static String DB_URL;
private static String DB_USER;
private static String DB_PASSWORD;
public ConnectionProvider()
{
JDBC_DRIVER = "com.mysql.jdbc.Driver"
DB_URL = "jdbc:mysql://localhost:3306/u-disk";
DB_USER = "root";
DB_PASSWORD = "root"
};
public Connection getConnection()
{
try {
Class.forName(JDBC_DRIVER);
} catch (Exception e) {
System.out.println("驱动文件路径有误!");
}
}
Connection con = null;
try {
con = DriverManager.getConnection(DB_URL, DB_USER,
DB_PASSWORD);
} catch (SQLException e) {
System.out.println("数据库连接建立异常!\n@shy2850@" + e.getMessage() +
e.getCause());
}
System.out.println("得到连接:Connection " + ConnectionPool.connections.size() + 1);
return new ConnectionImpl(con);
}
}
可以使用这个包装的数据库连接数据源在DAO工具类中使用:
package com.jdbc;
import java.sql.*;
/**课题:封装数据库的增删改查的工具类的实现。
*
* 假设相关数据库的表结构如下:
* 表名:user
* 列名及属性:id(int 自增),name(varchar(20)),tele(char(12)),birthday(date)
* @author shy2850
*/
public class UserDAO {
Connection conn;
public UserDAO(Connection conn) {
this.conn = conn;
}
public int save(User user) throws SQLException {
String sql = "insert into user values(0,?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getName());
pstmt.setString(2, user.getTele());
pstmt.setDate(3, user.getBirthday());
int n = pstmt.executeUpdate();
pstmt.close();
return n;
}
public int delete(User user) throws SQLException{
String sql = "delete from user where id = "+user.getId();
Statement stmt = conn.createStatement();
int n = stmt.executeUpdate(sql);
stmt.close();
return n;
}
public int update(User user) throws SQLException{
String sql = "update user set name=?, tele=?, birthday=? where id = "+user.getId();
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(2, user.getName());
pstmt.setString(3, user.getTele());
pstmt.setDate(4, user.getBirthday());
int n = pstmt.executeUpdate(sql);
pstmt.close();
return n;
}
public User getUser(Integer id) throws SQLException{
String sql = "select * from user where id = " + id;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
User user = getUserFromResultSet(rs);
rs.close();
stmt.close();
return user;
}
static User getUserFromResultSet(ResultSet rs) throws SQLException{
Integer id = rs.getInt("id");
String name= rs.getString("name");
String tele= rs.getString("tele");
Date birthday = rs.getDate("birthday");
return new User(id, name, tele, birthday);
}
}
/**
* 构建数据库表的java类映射
*/
class User{
private Integer id;
private String name;
private String tele;
private Date birthday;
public User() {
}
public User(Integer id, String name, String tele, Date birthday) {
super();
this.id = id;
this.name = name;
this.tele = tele;
this.birthday = birthday;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTele() {
return tele;
}
public void setTele(String tele) {
this.tele = tele;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
⑺ VB.net中用SQL语句操作数据库并实时刷新显示在DataGridView中,附源码,求指导
重要的是区别两个方法:DbAdapter.Fill是读,DbCommand.ExecuteNonquery是执行修改。删除按钮下理论上应先调用修改,确认成功后,再调用读取。
⑻ 易语言MySQL数据库操作
.版本
2
.支持库
mysql
.局部变量
记录集,
整数型
.局部变量
a1,
文本型
.局部变量
a2,
文本型
记录集
=
查找记录
(MySql句柄,
“b_1”,
“a1”,
,
)
读字段值
(记录集,
“a1”,
a1)
.判断开始
(user
=
a1)
返回
(真)
.默认
记录集
=
查找记录
(MySql句柄,
“b_2”,
“a2”,
,
)
读字段值
(记录集,
“a2”,
a2)
.判断开始
(password
=
a2)
返回
(真)
.默认
更新记录
(MySql句柄,
“b_2”,
“a2”,
“132515”)