㈠ 求C++操作SQL Server数据库的源码文件
一、配置:
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语句有所了解,才能方便的操作数据库
㈡ 网站源码数据库怎么是这样
解决办法是重新设置root用户密码,在Windows平台下操作步骤如下:
1、以系统管理员身份登录到系统;
2、如果MySQL服务器正在运行,停止它。
如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务
如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。
3、创建1个文本文件,并将下述命令置于单一行中:
复制代码代码如下:
SET PASSWORD FOR'root'@'localhost'= PASSWORD('MyNewPassword');
用任意名称保存该文件。在本例中,该文件为C:mysql-init.txt。
4、进入DOS命令提示:开始菜单->运行-> cmd
假定你已将MySQL安装到C:mysql。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。
在DOS命令提示符下,执行命令:
复制代码代码如下:
C:> C:mysqlinmysqld-nt --init-file=C:mysql-init.txt
在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:mysql-init.txt。
5、停止MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从Windows服务窗口启动它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。
附其他方法:
方法一: 复制代码代码如下:
#/etc/init.d/mysqlstop
#mysqld_safe--user=mysql--skip-grant-tables--skip-networking&
#mysql-urootmysql
mysql>UPDATEuserSETPassword=PASSWORD('newpassword')whereUSER='root';
mysql>FLUSHPRIVILEGES;
mysql>quit
#/etc/init.d/mysqlrestart
#mysql-uroot-p
Enterpassword:<输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
复制代码代码如下:
#mysql-udebian-sys-maint-p
Enterpassword:<输入[client]节的密码>
mysql>UPDATEuserSETPassword=PASSWORD('newpassword')whereUSER='root';
mysql>FLUSHPRIVILEGES;
mysql>quit
#mysql-uroot-p
Enterpassword:<输入新设的密码newpassword>
mysql>
另一个方法
Windows:
1.管理员登陆系统,停止mysql服务或者结束mysqld-nt进程
2.进入命令行,来到mysql的安装目录.假设安装目录为d:mysql,CMD进入命令行
3.运行d:mysqlinmysqld-nt--skip-grant-tables启动mysql,关闭权限的检查
4.运行d:mysqlinmysqladmin-urootflush-privilegespassword"newpassword"重设root密码
5.重新启动mysql服务
㈢ 求c#注册登录界面源代码(全部包括SQL数据库)
我写了一个登录的程序,界面也做的还可以,写了号几天呢。20分把这么多代码写给你不太可能吧,这里也放不下
㈣ 求一个SSH2登录的源码 oracle数据库的 越详细越好 本人新手!谢谢
我给你我原来写过的吧。很久以前的了。只给你连接数据库这些,其他的你自己看着写吧。
下面是我当初写的其中一个类,有注释。你看看,大圆模仿着写吧,肯定能写旁陪出来。.
package com.;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;
import com.tool.BaseTool;
public class BillDAO {
// 数据库连接
private Connection con;
// 数据库SQL语句执行者对象
private Statement stmt;
// 数据库SQL语句执行运仿蠢者对象
private PreparedStatement pstmt;
// 数据库SQL查询结果集
private ResultSet rs;
// 打开数据库连接
private void openConnection() {
try {
// 加载数据库驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
// 获得数据库连接
con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcllib", "zxl", "zxl");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 关闭数据库连接及资源
private void closeConnection() {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//检查账单编号是否存在的方法
@SuppressWarnings("finally")
public boolean checkBillNumber(long bill_number) {
boolean result = false;
openConnection();
// 编写SQL语句
String sql = "select b.bill_number from bill b";
try {
// 实例化执行SQL语句的对象preparedstatement
stmt = con.createStatement();
// 执行查询语句并返回结果集
rs = stmt.executeQuery(sql);
while (rs.next()) {
if (bill_number == rs.getLong("bill_number")) {
return result;
}
}
result = true;
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接及资源
closeConnection();
return result;
}
}
//分页显示账单列表的方法
@SuppressWarnings("finally")
public Result getPagingBill(int page_number, int page_data_number) {
Result result = null;
// 打开数据库连接
openConnection();
// 编写SQL语句
String sql = "select r.bill_number,r.goods_name,r.goods_number,r.transaction_amount," +
"r.value_name,r.supplier_name,r.goods_description,r.bill_date from " +
"(select rownum as rn,b.* from bill_list_view b) r where r.rn between "+
BaseTool.getPagingString(page_number, page_data_number);
try {
// 实例化执行SQL语句的对象preparedstatement
stmt = con.createStatement();
// 执行查询语句并返回结果集
rs = stmt.executeQuery(sql);
// 将结果集储存在Result对象当中
result = ResultSupport.toResult(rs);
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接及资源
closeConnection();
return result;
}
}
//获得账单总数的方法
@SuppressWarnings("finally")
public int getBillCount() {
int result = 0;
// 打开数据库连接
openConnection();
// 编写SQL语句
String sql = "select count(b.bill_number) from bill_list_view b ";
try {
// 实例化执行SQL语句的对象preparedstatement
stmt = con.createStatement();
// 执行查询语句并返回结果集
rs = stmt.executeQuery(sql);
// 取得账单总数
while (rs.next()) {
result = rs.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接及资源
closeConnection();
return result;
}
}
//将用户组合查询的账单列表分页
@SuppressWarnings("finally")
public Result getFilterPagingBill(String goods_name, int pay_status ,
int page_number , int page_data_number){
Result result = null;
// 打开数据库连接
openConnection();
// 编写SQL语句
String sql = "select r.bill_number,r.goods_name,r.goods_number,r.transaction_amount," +
"r.value_name,r.supplier_name,r.goods_description,r.bill_date " +
" from (select rownum as rn,b.* from bill_list_view b where ";
String sql_last = ") r where r.rn between " + BaseTool.getPagingString(page_number, page_data_number);
// 将参数初始化
String value_name = "";
if (pay_status == 3)
value_name = "已付款";
else if (pay_status == 4)
value_name = "未付款";
else
value_name = null;
if ("".equals(goods_name.trim()))
goods_name = null;
// 按照用户查询的条件处理
try {
if (value_name != null && goods_name == null) {
sql = sql + "b.value_name=?" + sql_last;
pstmt = con.prepareStatement(sql);
pstmt.setString(1, value_name);
} else if (value_name == null && goods_name != null) {
goods_name = "%"+goods_name+"%";
sql = sql + "b.goods_name like ?" + sql_last;
pstmt = con.prepareStatement(sql);
pstmt.setString(1, goods_name);
} else {
goods_name = "%"+goods_name+"%";
sql = sql + "b.value_name=? and b.goods_name like ?" + sql_last;
pstmt = con.prepareStatement(sql);
pstmt.setString(1, value_name);
pstmt.setString(2, goods_name);
}
rs = pstmt.executeQuery();
result = ResultSupport.toResult(rs);
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeConnection();
return result;
}
}
//获得用户组合查询的账单总数
@SuppressWarnings("finally")
public int getFilterBillCount(String goods_name, int pay_status) {
int result = 0;
// 打开数据库连接
openConnection();
// 编写SQL语句
String sql = "select count(b.bill_number) from bill_list_view b where ";
// 将参数初始化
String value_name = "";
if (pay_status == 3)
value_name = "已付款";
else if (pay_status == 4)
value_name = "未付款";
else
value_name = null;
if ("".equals(goods_name.trim()))
goods_name = null;
// 按照用户查询的条件处理
try {
if (value_name != null && goods_name == null) {
sql = sql + "b.value_name=? ";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, value_name);
} else if (value_name == null && goods_name != null) {
goods_name="%"+goods_name+"%";
sql = sql + "b.goods_name like ? ";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, goods_name);
} else {
goods_name="%"+goods_name+"%";
sql = sql + "b.value_name=? and b.goods_name like ? ";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, value_name);
pstmt.setString(2, goods_name);
}
rs = pstmt.executeQuery();
while(rs.next()){
result = rs.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeConnection();
return result;
}
}
//根据账单编号获得账单详细信息的方法
@SuppressWarnings("finally")
public Result getBillForBillNumber(long bill_number){
Result result = null;
// 打开数据库连接
openConnection();
// 编写SQL语句
String sql = "select b.* from bill_list_view b where b.bill_number="+bill_number;
try {
// 实例化执行SQL语句的对象preparedstatement
stmt = con.createStatement();
// 执行查询语句并返回结果集
rs = stmt.executeQuery(sql);
// 将结果集储存在Result对象当中
result = ResultSupport.toResult(rs);
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接及资源
closeConnection();
return result;
}
}
//为账单增加数据的方法
@SuppressWarnings("finally")
public int updateBill(List<Object> values){
//用于返回执行结果
int result = 0;
// 打开数据库连接
openConnection();
// 编写SQL语句
String sql = "insert into bill values (?,?,?,?,?,?,?,?)";
try {
// 实例化执行SQL语句的对象preparedstatement
pstmt = con.prepareStatement(sql);
//设置参数
for(int i=0,j=1;i<values.size();i++,j++){
if(values.get(i) instanceof Integer){
pstmt.setInt(j, (Integer)values.get(i));
}else if(values.get(i) instanceof Long){
pstmt.setLong(j, (Long)values.get(i));
} else if(values.get(i) instanceof String){
pstmt.setString(j, (String)values.get(i));
}else{
pstmt.setDate(j, (Date)values.get(i));
}
}
//获得执行结果
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接及资源
closeConnection();
//返回执行结果
return result;
}
}
//为账单修改数据的方法
@SuppressWarnings("finally")
public int saveBill(List<Object> values){
//用于返回执行结果
int result = 0;
// 打开数据库连接
openConnection();
// 编写SQL语句
String sql = "update bill b set b.goods_name=?,b.goods_number=?,b.transaction_amount=?," +
"b.pay_status=?,b.supplier_number=?,b.goods_description=?,b.bill_date=? where b.bill_number=?";
try {
// 实例化执行SQL语句的对象preparedstatement
pstmt = con.prepareStatement(sql);
//设置参数
for(int i=0,j=1;i<values.size();i++,j++){
if(values.get(i) instanceof Integer){
pstmt.setInt(j, (Integer)values.get(i));
}else if(values.get(i) instanceof Long){
pstmt.setLong(j, (Long)values.get(i));
}else if(values.get(i) instanceof String){
pstmt.setString(j, (String)values.get(i));
}else{
pstmt.setDate(j, (Date)values.get(i));
}
}
//获得执行结果
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接及资源
closeConnection();
//返回执行结果
return result;
}
}
//删除账单中数据的方法
@SuppressWarnings("finally")
public int deleteBill(long bill_number){
//用于返回执行结果
int result = 0;
// 打开数据库连接
openConnection();
// 编写SQL语句
String sql = "delete bill b where b.bill_number=?";
try {
// 实例化执行SQL语句的对象preparedstatement
pstmt = con.prepareStatement(sql);
//设置参数
pstmt.setLong(1, bill_number);
//获得执行结果
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接及资源
closeConnection();
//返回执行结果
return result;
}
}
}
㈤ 易语言+php+数据库做注册登录程序 怎么做,最好是有教程跟源码!
要是说教程,没有哪个教程是指定讲哪个问题的,这里面涉及的知识,易语言操作mysql或post或网页填表。教程都很好找。为什么说或,因为常用大概就这三种方法。
直接操作数据库,易语言直接链接网站的数据库,可以不通过php来操作,直接把要注册的帐号写进数据库,这是最直接的方法。
post,首先用httpwatch或其他抓包工具,抓取注册时的数据包,然后用易语言(精益模块)网页_访问这个方法来进行自制数据包提交。来完成注册。
网页填表,属于在超文本浏览框内打开网站注册页面,然后模拟手动来填写注册信息。
建议使用的方法是post,因为直接操作数据库安全性不高,网页填表每次都要打开一次注册页面,效率不高,建议使用post方法。post视频教程可以找 之乎者也的post教程,关于post的教程有很多
㈥ 易语言如何使用EDB数据库实现注册登录源码
直接添加空记录,然笑含后写内容关闭会提示碰做笑保存就行了,edb数据库不太好用和方便建议用access数据库吧。方便好胡困用