判断连接数据库状态:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Import Namespace= "System.Data.SqlClient" %>
<mce:script runat = "server"><!--
protected void Page_Load(object sender, EventArgs e)
{
var cn = new SqlConnection();
cn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|product_Data.MDF;Integrated Security=True;User Instance= True";
cn.Open();
if (cn.State == System.Data.ConnectionState.Open)
{
Response.Write("SQL连接开启");
cn.Close();
}
if (cn.State == System.Data.ConnectionState.Closed)
{
Response.Write("SQL连接关闭");
}
}
// --></mce:script>
执行插入Sql语句,代码如下:
<%@ ......
Public Function GetDataTable()
Dim myComm As New SqlClient.SqlCommand("SELECT cauth_id,cauth_name,igrade,csupauth_id,csupauth_name from MAIN_TREE01 ", sqlconnection1)
Dim sdapt As New SqlClient.SqlDataAdapter(myComm)
Dim ds As New DataSet
sdapt.Fill(ds)
Return ds.Tables(0)
End Function
Private Sub GetTreeViewDataBound(ByVal nodes As TreeNodeCollection, ByVal csupauth_id As String, ByVal dt As DataTable)
Dim dr As DataRow
If (dt.Rows.Count > 0) Then
Dim node As TreeNode
Dim drs As DataRow() = dt.Select("csupauth_id='" + csupauth_id + "'")
For Each dr In drs
node = New TreeNode()
node.Text = dr(1).ToString()
node.Name = dr(0).ToString
nodes.Add(node)
GetTreeViewDataBound(node.Nodes, node.Name.Trim(), dt)
Next
End If
End Sub
Private Sub Button1_Click(ByVal sender A ......
一、ADO简介
ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,不仅简单易用,并且不失灵活性.不失为C++利用数据库快速开发的不错选择。
理论就不用我在这儿费话了,网上有很多,但光是理论,也不是不够的,ADO访问数据的方法很灵活,容易让人混淆.网上大部分的实例都是基于MFC的,数据库也是ACCESS多,这儿我写了一个C++语言访问MS SQL2000的实例,希望对比我还菜鸟的菜鸟有所帮助。
二、建库
首先在SQL2000企业管理中,建立一个数据库student,并创建一个表stu_info字段和值如下:
snum sname sage ssex smajor
200113801 本拉登 23 男 计算机科学
200104205 张巧巧 25 女 旅游管理
200113802 张学友 26 男 计算机科学
三、访问
程序清单如下:(win2000+VC6.0)
/*******************************************************************
利用ADO访问MS SQL2000
要求: 【1】输出stu_info表内的每一条记录
【2】添加一条新记录
【3】删除名字为"本拉登"的记录 ......
一、ADO简介
ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,不仅简单易用,并且不失灵活性.不失为C++利用数据库快速开发的不错选择。
理论就不用我在这儿费话了,网上有很多,但光是理论,也不是不够的,ADO访问数据的方法很灵活,容易让人混淆.网上大部分的实例都是基于MFC的,数据库也是ACCESS多,这儿我写了一个C++语言访问MS SQL2000的实例,希望对比我还菜鸟的菜鸟有所帮助。
二、建库
首先在SQL2000企业管理中,建立一个数据库student,并创建一个表stu_info字段和值如下:
snum sname sage ssex smajor
200113801 本拉登 23 男 计算机科学
200104205 张巧巧 25 女 旅游管理
200113802 张学友 26 男 计算机科学
三、访问
程序清单如下:(win2000+VC6.0)
/*******************************************************************
利用ADO访问MS SQL2000
要求: 【1】输出stu_info表内的每一条记录
【2】添加一条新记录
【3】删除名字为"本拉登"的记录 ......
第一次安装2005,花了不少精力。虽然没什么太难的,但是不知道的话会很棘手的。如果你正在安装,并且发现这篇文章,那么你很走运,你将会顺利的安装成功。
安装目录中包含Sql Server x64 和 x86, x86是32位机器的。x86中又有tools 和 Servers 。第一次安装了Servers,然后又装tools,结果出现性能监视器计数器要求的错误,这个问题不能按照帮助文档来解决。
解决之后,我先装的tools,接着又装Servers,结果出现
这个问题。在网上搜了一下,试着把SQL Native Client卸载,又装了一次,结果果然好了。
虽然这几个问题网上都有解决之法。我把遇到的问题整理一下, ......
create PROC [dbo].[P_viewPage_A]
/*
高效通用分页存储过程(双向检索)
敬告:适用于单一主键或存在唯一值列的表或视图
ps:Sql语句为8000字节,调用时请注意传入参数及sql总长度不要超过指定范围
*/
@TableName VARCHAR(200), --表名
@FieldList VARCHAR(2000), --显示列名,如果是全部字段则为*
@PrimaryKey VARCHAR(100), --单一主键或唯一值键
@Where VARCHAR(2000), --查询条件 不含'where'字符,如id>10 and len(userid)>9
@Order VARCHAR(1000), --排序 不含'order by'字符,如id asc,userid desc,必须指定asc或desc
--注意当@SortType=3时生效,记住一定要在最后加上主键,否则会让你比较郁闷
@SortType INT, --排序规则 1:正序asc 2:倒序desc 3:多列排序方法
@RecorderCount INT, --记录总数 0:会返回总记录
@PageSize INT, ......
<%
set conn=server.createobject("adodb.connection")
conn.connectionstring="PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER=210.76.209.130;DATABASE=databasename;UID=sa;PWD=password;"
conn.open
%>
其中 210.76.209.130 就是远程服务器的IP
二、我用VB写了个管理软件,并采取PING远程服务器域名的方法获取远程服务器的IP,服务器端使用了花生壳软件,但无论怎么样都是数据库无法访问的提示,还有我在程序里调用了PING出的服务器IP,奇怪的是如果我本地SQL服务启动,程序不提示出错,虽然PING出的IP并不是我本机的,却可以连到我本地的SQL数据库,如果我把本地SQL服务关闭,就哪个也联不上了,请有经验的朋友帮帮我,告诉我怎么可以实现就可以.
:好像免费的二级域名不在线的时候解析出来的是本机ip127.0.0.1吧,你可以试试用金万维的gnHost或者天联试试
三、我的操作系统是win2003安装sqlserver以后,
在远程机调用该机上的数据库,每次都得先在开始运行里输入
\\192.168.1.18(我这台机器的IP)
然后输入用户名密码才能在客户端的查询分析器里打开sql server,
在网上找了下资料说是注册表里的loginmode设为2就行了,可是我弄了还是不行,
我实在弄不懂了 ......
<%
set conn=server.createobject("adodb.connection")
conn.connectionstring="PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER=210.76.209.130;DATABASE=databasename;UID=sa;PWD=password;"
conn.open
%>
其中 210.76.209.130 就是远程服务器的IP
二、我用VB写了个管理软件,并采取PING远程服务器域名的方法获取远程服务器的IP,服务器端使用了花生壳软件,但无论怎么样都是数据库无法访问的提示,还有我在程序里调用了PING出的服务器IP,奇怪的是如果我本地SQL服务启动,程序不提示出错,虽然PING出的IP并不是我本机的,却可以连到我本地的SQL数据库,如果我把本地SQL服务关闭,就哪个也联不上了,请有经验的朋友帮帮我,告诉我怎么可以实现就可以.
:好像免费的二级域名不在线的时候解析出来的是本机ip127.0.0.1吧,你可以试试用金万维的gnHost或者天联试试
三、我的操作系统是win2003安装sqlserver以后,
在远程机调用该机上的数据库,每次都得先在开始运行里输入
\\192.168.1.18(我这台机器的IP)
然后输入用户名密码才能在客户端的查询分析器里打开sql server,
在网上找了下资料说是注册表里的loginmode设为2就行了,可是我弄了还是不行,
我实在弄不懂了 ......