连接数据库及验证用户名和密码的代码
using System.Data.SqlClient;
namespace class1_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{//连接数据库
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
@"server=S101039\SQLEXPRESS;database=mydb;uid=test;pwd=test";
conn.Open();
SqlCommand cmd = new SqlCommand();//执行command命令
cmd.Connection = conn;
https://www.doczj.com/doc/c517102601.html,mandText = "select * from users where username=@username";//用@username 的目的使数据库更严禁化防止 ' or ','1=1 '的漏洞
cmd.Parameters.Add(new SqlParameter("@username", textBox1.Text));
SqlDataReader dr=cmd.ExecuteReader();//sqldatareader是用于查询用的语句
if (dr.Read())
{//把从控件中读的数据和数据库中的名字相匹配呈现检查功能
if(textBox2.Text==dr["userpwd"].ToString())
{
Form2 frm = new Form2();
frm.Show();
this.Hide();
}
else
{
MessageBox.Show("密码错误!");
}
}
else
{
MessageBox.Show("用户名不存在!");
}
}
}
}
数据库里的信息查询及删除代码
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();//声明一个变量
}
private void Form3_Load(object sender, EventArgs e)
{
binddatagrid();// 在以后可以刷新datagridview1用更新数据库
}
public void binddatagrid()
{
dataGridView1.AutoGenerateColumns = false;
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
@"server=S101039\SQLEXPRESS;database=mydb;uid=test;pwd=test";
SqlDataAdapter da = new SqlDataAdapter("select * from students", conn);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
private void button1_Click(object sender, EventArgs e)
{
Form4 frm = new Form4();
frm.myParent = this;
frm.MdiParent=this.MdiParent ;
frm.Show();
}
private void button2_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
try
{
conn.ConnectionString =
@"server=S101039\SQLEXPRESS;database=mydb;uid=test;pwd=test";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
https://www.doczj.com/doc/c517102601.html,mandText = "delete from students where
stuid='"+dataGridView1.CurrentRow.Cells[0].Value.ToString()+"'";//在点击datagridview1时可以把数据传递
cmd.ExecuteNonQuery();//返回受影响的行
conn.Close();
binddatagrid();//引用binddatagrid 刷新数据实现及时修改,及时看到效果刷新功能MessageBox.Show("删除成功");
}
catch
{
if(conn.State==ConnectionState.Open)//判断一下数据库开关的状态,如果是开着的利用这个把数据库给关闭防止堆栈
conn.Close();
MessageBox.Show("删除失败");
}
}
private void button3_Click(object sender, EventArgs e)
{
Form4 frm = new Form4();
frm.myParent = this;
frm.MdiParent = this.MdiParent;//获取或设置此窗体当前多文档界面(mdi)父窗体
frm.stuId = dataGridView1.CurrentRow.Cells[0].Value.ToString();// 获取学生id
frm.Show();
}
}
数据库信息的添加和修改代码
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
public Form3 myParent;
public string stuId="";
private void Form4_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
@"server=S101039\SQLEXPRESS;database=mydb;uid=test;pwd=test";
SqlDataAdapter da = new SqlDataAdapter("select * from departments", conn);
DataSet ds = new DataSet();
da.Fill(ds);
comboBox2.DataSource = ds.Tables[0].DefaultView;
comboBox2.DisplayMember = "depname";
comboBox2.ValueMember = "depid";
if (stuId != "")
{
//conn.Open();
//SqlCommand cmd = new SqlCommand();
//cmd.Connection = conn;
//https://www.doczj.com/doc/c517102601.html,mandText = "select * from students where stuid='" + stuId + "'";
//SqlDataReader dr = cmd.ExecuteReader();
//if (dr.Read())
//{
// textBox1.Text = dr["stuid"].ToString();
// textBox2.Text = dr["stuname"].ToString();
// textBox3.Text = dr["stuage"].ToString();
// comboBox1.Text = dr["stusex"].ToString();
// comboBox2.SelectedValue = dr["depid"].ToString();
//}
//dr.Close();
//conn.Close();
//面向连接的数据库
da=new SqlDataAdapter("select * from students where stuid='"+stuId+"'",conn); ds = new DataSet();
da.Fill(ds);
if(ds.Tables[0].Rows.Count==1)
{
textBox1.Text =ds.Tables[0].Rows[0]["stuid"].ToString();
textBox2.Text = ds.Tables[0].Rows[0]["stuname"].ToString();
textBox3.Text = ds.Tables[0].Rows[0]["stuage"].ToString();
comboBox1.Text = ds.Tables[0].Rows[0]["stusex"].ToString();
comboBox2.SelectedValue = ds.Tables[0].Rows[0]["depid"].ToString();
}
button1.Text = "修改";
}
else
{
button1.Text = "添加";
}
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
try
{
conn.ConnectionString =
@"server=S101039\SQLEXPRESS;database=mydb;uid=test;pwd=test";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
if (stuId == "")
{
https://www.doczj.com/doc/c517102601.html,mandText = "insert into
students(stuid,stuname,stuage,stusex,depid) values (@stuid,@stuname,@stuage,@stusex,@depid)"; }
else
{
string sql="update students set stuid=@stuid,";
sql+="stuname=@stuname,stuage=@stuage,";
sql+="stusex=@stusex,depid=@depid ";
sql += "where stuid=@stuoldid";
https://www.doczj.com/doc/c517102601.html,mandText=sql;
cmd.Parameters.Add(new SqlParameter("@stuoldid", stuId));
}
cmd.Parameters.Add(new SqlParameter("@stuid", textBox1.Text));
cmd.Parameters.Add(new SqlParameter("@stuname", textBox2.Text));
cmd.Parameters.Add(new SqlParameter("@stuage", textBox3.Text));
cmd.Parameters.Add(new SqlParameter("@stusex", comboBox1.Text));
cmd.Parameters.Add(new SqlParameter("@depid", comboBox2.SelectedValue));
cmd.ExecuteNonQuery();
conn.Close();
myParent.binddatagrid();
MessageBox.Show(button1.Text+"成功");
this.colse();
}
catch
{
if(conn.State==ConnectionState.Open)
conn.Close();
MessageBox.Show(button1.Text+"失败");
}
}
} //面向无连接的数据库
CitrixAppcenter无法连接到数据 库解决方法
Contents 简介 ................................................................................................................................... - 3 - 1、操作步骤.......................................................................................................................... - 3 - 2、标题2............................................................................................................................... - 5 - 3、标题3............................................................................................................................... - 5 - 4、标题4............................................................................................................................... - 5 - 5、标题5............................................................................................................................... - 5 - 6、标题6............................................................................................................................... - 5 -
数据查询语言(SELECT语句) 数据操纵语言(INSERT, UPDATE, DELETE语句) 数据定义语言(如CREATE, DROP等语句) 数据控制语言(如COMMIT, ROLLBACK等语句 超详细的SQL语句语法2008-07-11 14:25简单的Transact-SQL查询只包括选择列表、FROM 子句和WHERE子句 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列 它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行, 默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行, 而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable 9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,
package com.jdbc.myConnection; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionFactory { //获取Oracle连接 public static Connection getOracleConnection() { Connection con = null; try { Class.forName("oracle.jdbc.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; con = DriverManager.getConnection(url, "scott", "tiger"); } catch (Exception e) { e.printStackTrace(); } return con; } //获取SQLServer的test数据库连接 public static Connection getSQLServerConnection() { return getMySQLConnection("test"); } //获取SQLServer 连接 public static Connection getSQLServerConnection(String databaseName) { Connection con = null; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String url = "jdbc:microsoft:sqlServer://localhost:1433;databaseName=" + databaseName; con = DriverManager.getConnection(url, "sa", "sa"); } catch (Exception e) { e.printStackTrace(); } return con; } //获取MySQL连接 public static Connection getMySQLConnection() { return getMySQLConnection("test");
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符
第2章数据库高级编程 ADO、NET就是为、NET框架而创建的,就是对ADO(ActiveX Data Objects)对象模型的扩充。ADO、NET提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源的一致访问。ADO、NET模型分为、NET Data Provider(数据提供程序)与DataSet数据集(数据处理的核心)两大主要部分。 、NET数据提供程序提供了四个核心对象,分别就是Connection、Command、DataReader 与DataAdapter对象。功能如表2-1所示。 表2-1 ADO、NET核心对象 2、1 SQL Server相关配置 在使用C#访问数据库之前,首先创建一个名为“chap2”的数据库,此数据库作为2、1节及2、2节中例题操作的默认数据库。然后创建数据表Products,表结构如表2-2所示。创建完毕后可录入初始化数据若干条。 表2-2 Products表表结构 上机课的操作中出现问题较多的地方。 1.身份验证方式 SQL Server 2012在安装时默认就是使用Windows验证方式的,但就是安装过后用户可随时修改身份验证方式。 启动SQL Server 2012 Management Studio,在“连接到服务器”对话框中选择“Windows
身份验证”连接服务器,连接成功后,在窗体左侧的“对象资源管理器”中右键单击服务器实例节点,并在弹出的快捷菜单中选择“属性”菜单项,系统将弹出“服务器属性”窗体,切换至“安全性”选项卡,如图2-1所示。 图2-1 “服务器属性”对话框-“安全性”选项卡 在“服务器身份验证”部分选择“SQL Server与Windows身份验证模式”选项,并单击【确定】按钮。系统将提示需要重新启动SQL Server以使配置生效,如图2-2所示。 图2-2 系统提示框 右键单击“对象资源管理器”的服务器实例节点,在弹出的快捷菜单中选择“重新启动”菜单项,SQL Server将重新启动服务,重启成功后即可使用混合验证方式登录SQL Server服务器。 2.添加登录账户 大部分初学者都习惯于使用SQL Server的系统管理员账号“sa”来登录数据库服务器,而在实际工作环境中使用sa账号登录服务器就是不合理的。因为很多情况下系统的数据库就是部署在租用的数据库服务器上的,此时数据库设计人员或编程人员都不可能具有sa账号的使用权限,因此在将身份验证方式修改为SQL Server与Windows混合验证后,需要为某应用程序创建一个专用的登录账户。其操作步骤描述如下。 (1)使用Windows身份验证登录SQL Server,在对象资源管理器中点击“安全性”节点前面的加号“+”,在展开后的“登录名”子节点上单击右键,如图2-3所示,并在弹出的快捷菜单中选择“新建登录名”选项。
1.C#连接连接Access 程序代码: using System.Data; using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+=@"Data Source=C:BegASPNETNorthwind.mdb"; OleDbConnection objConnection=new OleDbConnection(strConnection); .. objConnection.Open(); objConnection.Close(); 解释: 连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的! strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源. "Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,https://www.doczj.com/doc/c517102601.html,就是靠这个和Access的数据库连接的. "Data Source=C:\BegASPNET\Northwind.mdb"是指明数据源的位置,他的标准形式是"Data
Source=MyDrive:MyPath\MyFile.MDB". PS: 1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符. 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接: strConnection+="Data Source="; strConnection+=MapPath("Northwind.mdb"); 这样就可以省得你写一大堆东西了! 3.要注意连接字符串中的参数之间要用分号来分隔. "OleDbConnection objConnection=new OleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道. "objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成. 2.C#连接SQL Server 程序代码: using System.Data; using System.Data.SqlClient; .. string strConnection="user id=sa;password=;"; strConnection+="initial catalog=Northwind;Server=YourSQLServer;";
数据库S Q L查询语句 大全 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]
经典SQL查询语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definitio n only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符
C#常用操作数据方法整理 using System.Data.SqlClient; //导入sql数据库命名空间,这样可以用sql数据库操作相关类 String ConnectionStr = "server=.;database=数据库名;uid=sa;pwd=123456;"; //数据库连接字符串,server确定数据库服务器名,database定义数据库名,uid定义数据库使用者用户名,pwd为密码。 SqlConnection conn = new SqlConnection(ConnectionStr); //建立数据库连接,只有建立连接了才能操作数据。 //也可以合在一起:SqlConnection conn = new SqlConnection(“server=.;database=数据库名; uid=sa;pwd=123456;”); String SQLString=“”; //数据操作语句放在双引号中,语句有增,删,改,查操作。 SqlCommand comm = new SqlCommand(SQLString, conn); //建立数据库命令,确定sql数据操作语句,和数据库连接。 //也可以合并,SqlCommand comm = new SqlCommand(“数据库操作语句”, conn); conn.Open(); //打开数据库,只有打开数据库,数据库命令才能被执行。 int rows = comm.ExecuteNonQuery(); SqlDataReader dr = comm.ExecuteReader(); //专门用于读取数据库数据 Object result= comm. ExecuteScalar(); //或string result= Cmd. ExecuteScalar().Tostring(); //执行数据库命令: //ExecuteNonQuery()用于增,删,改操作,返回受影响的行数; //ExecuteReader()用于查操作,返回一个SqlDataReader类的对象; //comm.ExecuteScalar()执行查找,返回从数据表中查询结果的第一行第一个单元格的数据。conn.Close();
随笔- 6 文章- 0 评论- 1 Java连接各种数据库写法 # 示例配置参考,涵盖几乎所有的主流数据库 ############# Oracle数据库######################## # 数据库驱动名 driver=oracle.jdbc.driver.OracleDriver # 数据库URL(包括端口) dburl=jdbc:oracle:thin:@127.0.0.1:1521:zvfdb # 数据库用户名 user=root # 用户密码
password=zvfims ############# DB2数据库######################## # 数据库驱动名 driver=com.ibm.db2.jcc.DB2Driver # 数据库URL(包括端口) dburl=jdbc:db2://127.0.0.1:50000/zvfdb # 数据库用户名 user=root # 用户密码 password=zvfims ############# MySQL数据库######################## # 数据库驱动名
driver=com.mysql.jdbc.Driver # 数据库URL(包括端口) dburl=jdbc:mysql://127.0.0.1:3306/zvfdb # 数据库用户名 user=root # 用户密码 password=zvfims ############# PostgreSQL数据库数据库######################## # 数据库驱动名 driver=org.postgresql.Driver # 数据库URL(包括端口) dburl=jdbcostgresql://127.0.0.1/zvfdb
Java数据库连接大全 注:newInstance()可要可不要。 通用JDBC-ODBC直连方式(无需额外的驱动包): Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};Server=localhost;uid=sa;pwd=1111;Database=db"); 以下方式中Class.forName中的都是需要添加的驱动包。 1Java连接Oralce Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; Connection conn=DriverManager.getConnection(url,user,password); 2Java连接MySQL Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //Class.forName("com.mysql.jdbc.Driver"); String URL="jdbc:mysql://localhost/test"; Connection conn=DriverManager.getConnection(url,user,password); 3Java连接SQLServer 连接mssql2000 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 连接mssql2005+ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 通用方式: Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); String url="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 4Java连接DB2 Class.forName(“com.ibm.db2.jdbc.app.DB2Driver").newInstance(); String URL=”jdbc:db2://localhost:5000/db"; Connection conn=DriverManager.getConnection(url,user,password); 5Java连接Infomix Class.forName("https://www.doczj.com/doc/c517102601.html,rmix.jdbc.IfxDriver").newInstance(); String URL="jdbc:informix-sqli://123.45.67.89:1533/db:INFORMIXSERVER=myserver"; Connection conn=DriverManager.getConnection(url,user,password); 6Java连接SyBase Class.forName("com.sybase.jdbc.SybDriver").newInstance(); Properties sysProps=System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn=DriverManager.getConnection(url,SysProps);
数据库结构如下: 仓库(仓库号, 城市, 面积) 订购单(职工号, 供应商号, 订购单号, 订购日期)供应商(供应商号, 供应商名, 地址) 职工(仓库号, 职工号, 工资) 具体数据如下: 仓库表: 职工表:
使用SQL语句完成: DDL 1.写出创建上述表的语句 命令: create table仓库(仓库号varchar(8)primary key,城市varchar(8),面积int); create table订购单(订购单号varchar(8)primary key,职工号varchar(8),供应商号varchar(8),订购日期nchar(8)) create table供应商(供应商号varchar(8)primary key,供应商名varchar(18),地址varchar(8)) create table职工(职工号varchar(8)primary key,仓库号varchar(8),工资int)DML 2.给出插入上述数据的insert语句 命令: insert into仓库values('WH1','',370) insert into仓库values('WH2','',500) insert into仓库values('WH3','',200) insert into仓库values('WH4','',400) insert into订购单values('OR67','E3','S7','06/23/01') insert into订购单values('OR73','E1','S4','07/28/01') insert into订购单values('OR76','E5','S4','05/25/01') insert into订购单values('OR77','E6','S6','05/26/01') insert into订购单values('OR79','E3','S4','06/13/01') insert into订购单values('OR80','E1','S2','08/29/01') insert into订购单values('OR90','E3','S3','09/01/01') insert into订购单values('OR91','E3','S7','07/13/01') insert into供应商values('S2','名硕电子公司','') insert into供应商values('S3','振华电子厂','') insert into供应商values('S4','华通电子公司','') insert into供应商values('S6','607厂','') insert into供应商values('S7','爱华电子厂','') insert into职工values('E1','WH2',1220) insert into职工values('E3','WH1',1210) insert into职工values('E4','WH2',1250) insert into职工values('E5','WH3',1230) insert into职工values('E6','WH1',1250)
第八章与数据库连接 本章内容 创建数据源及数据库 创建表格模板 创建记录体 对数据库的操作 数据集函数在关系库中的应用 概述 本章我们将讲解如何将阀门的状态变化记录到数据库中并进行查询。数据库我们选择Access数据库,记录的内容包括:日期、时间、阀门描述、阀门状态四个字段。我们利用KingSCADA的SQL访问功能来实现。 KingSCADA SQL访问功能实现KingSCADA和其他外部数据库之间的数据传输。提供2种访问方式:一种是记录体的方式,即变量和数据库表中的字段建立绑定关系;一种是数据集方式。 记录体方式就是通过记录体配置项,实现把数据库里面的字段和KingSCADA的变量建立绑定关系。绑定后,可以通过SQL插入或更新函数将绑定变量插入或更新到数据库的对应字段中;也可以通过SQL查询函数将数据库中对应字段数据查询并保存到绑定变量中,实现KingSCADA和关系数据库的数据交互。记录体方式只能在KingSCADA服务器端应用。 数据集方式就是通过KingSCADA提供的一系列数据集函数,执行标准SQL语句,实现KingSCADA与关系数据库之间的增、查、删、改等所有数据交互功能,尤其可以通过数据集函数,实现从数据库内查询出符合SQL语句的数据集合,并在报表、曲线中进行批量数据展示。数据集方式支持在KingSCADA服务器端、C/S客户端、WEB上使用。 在这里建议采用数据集方式,更加方便、灵活。 下面具体介绍2种方式的具体使用 第一节记录体方式在关系数据库中的应用(仅参考) 一、创建数据源及数据库 以KingSCADA带的DEMO工程中的数据库为例,首先将文件从DEMO工程中拷贝到我们新建的这个培训工程中。 然后,用Windows控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才拷贝过来的Access数据库(即),如图8-1所示:
今天总结了java平时最常用的7种数据库连接方式,现在分享给大家 MySQL: String Driver="com.mysql.jdbc.Driver"; //驱动程序 String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name 为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); Connection con=DriverManager.getConnection(URL,Username,Password); Microsoft SQL Server: 1) String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接SQL数据库的方法 String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); //加载数据可驱动 Connection con=DriverManager.getConnection(URL,UserName,Password); // 2) String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //连接SQL数据库的方法 String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); //加载数据可驱动 Connection con=DriverManager.getConnection(URL,UserName,Password); Sysbase: String Driver="com.sybase.jdbc.SybDriver"; //驱动程序 String URL="jdbc:Sysbase://localhost:5007/db_name"; //db_name为数据可名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).newInstance(); Connection con=DriverManager.getConnection(URL,Username,Password); Oracle(用thin模式): String Driver="oracle.jdbc.driver.OracleDriver"; //连接数据库的方法String URL="jdbc:oracle:thin:@loaclhost:1521:orcl"; //orcl为数据库的SID String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).newInstance(); //加载数据库驱动
JDBC连接sql server数据库的详细步骤和代码JDBC连接sql server数据库的步骤如下: [java] view plaincopy 1.1、加载JDBC驱动程序: 2.在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 3.这通过https://www.doczj.com/doc/c517102601.html,ng.Class类的静态方法forName(String className)实现。 4.成功加载后,会将Driver类的实例注册到DriverManager类中。 5.2、提供JDBC连接的URL 6.?连接URL定义了连接数据库时的协议、子协议、数据源标识。 7.?书写形式:协议:子协议:数据源标识 8.协议:在JDBC中总是以jdbc开始 9.子协议:是桥连接的驱动程序或是数据库管理系统名称。 10.数据源标识:标记找到数据库来源的地址与连接端口。 11.3、创建数据库的连接 12.?要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象, 13.该对象就代表一个数据库的连接。 14.?使用DriverManager的getConnectin(String url , String username , 15. String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和 16.密码来获得。 17.4、创建一个Statement 18.?要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 19.种类型: 20.1、执行静态SQL语句。通常通过Statement实例实现。 21.2、执行动态SQL语句。通常通过PreparedStatement实例实现。 22.3、执行数据库存储过程。通常通过CallableStatement实例实现。 23.具体的实现方式: 24. Statement stmt = con.createStatement() ; 25. PreparedStatement pstmt = con.prepareStatement(sql) ; 26. CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ; 27.5、执行SQL语句 28. Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate 29.和execute 30.1、ResultSet executeQuery():执行查询数据库的SQL语句 31.,返回一个结果集(ResultSet)对象。 32.2、int executeUpdate():用于执行INSERT、UPDATE或 33. DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等 34.3、execute():用于执行返回多个结果集、多个更新计数或二者组合的 35.语句。 36.具体实现的代码: 37. ResultSet rs = pstmt.executeQuery() ;
推荐一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和Where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。Select nickname,email FROM testtable Where n ame=’张三’ (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列例如,下面语句显示testtable表中所有列的数据:Select * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如:Select nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: Select 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 Select语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINC T选项时,对于所有重复的数据行在Select返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: Select TOP 2 *FROM testtable Select TOP 20 PERCENT * FROM testtable (二) FROM子句 FROM子句指定Select语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和cityta ble表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: Select username,citytable.cityid FROM usertable,citytable Where usertable.cityid=citytable.cityid 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名表名别名