你好 金仓数据库连接不上解决了吗

你好 金仓数据库连接不上解决了吗,第1张

问题背景

客户根据项目的不同,使用润乾连接的数据库类型各种各样,此文针对前几日使用润乾设计器连接kingbase金仓数据库做一个说明。

kingbase金仓数据库是一款国产数据库, *** 作方式和配置很像微软的SQLServer数据库,国内另一款常用的达梦数据库(武汉)也是类似的产品。都是关系型数据库。

解决内容:

针对上面这些润乾设计器默认的关系型数据库的数据源连接没有默认提供,需要自己配置,首先是拷贝kingbase金仓数据库的JDBC驱动包kingbasejdbc4.jar至润乾设计器的:D:\Program Files\reportHome\jdbc目录下。第二步,在润乾设计器中配置数据源,在”数据库类型”列表选择KINGBASE,其它配置信息如下:

kingbase金仓数据库配置信息:

驱动程序:com.kingbase.Driver

数据库连接URL:jdbc:kingbase://192.168.0.56:54321/HISDB

账户/密码:***/***

金仓数据库 ?

-----------------------给你一段C# *** 作sqlserver的示例代码

1.数据库建表,

create table mytable(

pkid nvarchar(40) not null,

a nvarchar(40) null

)

insert into mytable(pkid,a) values(newid(),'测试')

2.新建对应此表的实体类

[Serializable]

public class mytable

{

private String _pkid = ""

public String pkid

{

get { return _pkid}

set { _pkid = value}

}

private String _a = ""

public String a

{

get { return _a}

set { _a = value}

}

}

3.新建 *** 作类:

public class mytableDAO

{

private String _ConnectionString

public mytableDAO(String ConnectionString)

{

this._ConnectionString = ConnectionString

}

public int New(Entities.MsgRecord obj)

{

String sql = "insert into mytable(pkid,a) values(@pkid,@a)"

SqlConnection cn = new SqlConnection(this._ConnectionString)

SqlCommand cmd = new SqlCommand(sql, cn)

cmd.Parameters.AddWithValue("@a", obj.a)

cmd.Parameters.AddWithValue("@pkid",

String.Empty.Equals(obj.pkid) ? System.Guid.NewGuid().ToString() : obj.pkid)

try

{

if (cn.State != ConnectionState.Open)

cn.Open()

return cmd.ExecuteNonQuery()

}

catch

{

return -1

}

finally

{

if (cn.State != ConnectionState.Closed)

cn.Close()

}

}

public int Update(Entities.mytable obj)

{

String sql = "Update mytable Set a=@a Where pkid=@ObjectID"

SqlConnection cn = new SqlConnection(this._ConnectionString)

SqlCommand cmd = new SqlCommand(sql, cn)

cmd.Parameters.AddWithValue("@a", obj.a)

cmd.Parameters.AddWithValue("@pkid", obj.pkid)

try

{

if (cn.State != ConnectionState.Open)

cn.Open()

return cmd.ExecuteNonQuery()

}

catch

{

return -1

}

finally

{

if (cn.State != ConnectionState.Closed)

cn.Close()

}

}

public int Del(Entities.mytable obj)

{

String sql = "delete from mytable Where pkid=@ObjectID"

SqlConnection cn = new SqlConnection(this._ConnectionString)

SqlCommand cmd = new SqlCommand(sql, cn)

cmd.Parameters.AddWithValue("@ObjectID", obj.pkid)

try

{

if (cn.State != ConnectionState.Open)

cn.Open()

return cmd.ExecuteNonQuery()

}

catch

{

return -1

}

finally

{

if (cn.State != ConnectionState.Closed)

cn.Close()

}

}

public int Del(String where)

{

String sql = String.Format("delete from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", ""))

SqlConnection cn = new SqlConnection(this._ConnectionString)

SqlCommand cmd = new SqlCommand(sql, cn)

try

{

if (cn.State != ConnectionState.Open)

cn.Open()

return cmd.ExecuteNonQuery()

}

catch

{

return -1

}

finally

{

if (cn.State != ConnectionState.Closed)

cn.Close()

}

}

public DataTable Query(String where)

{

String sql = String.Format("select * from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", "").Replace("insert", "").Replace("", "").Replace("--", "").Replace("exec", ""))

try

{

SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(this._ConnectionString))

DataTable dt = new DataTable()

da.Fill(dt)

return dt

}

catch

{

return null

}

}

}

4.在ui中调用:

4.1 新增:

private void NewData()

{

String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString

mytableDao dao=new mytableDao(conn)

mytable obj=new mytable()

obj.a=this.txtbox_a.Text

obj.b=this.txtbox_b.Text

obj.c=this.txtbox_c.Text

dao.New(obj)

}

4.2 取数据绑定GridView

private void LoadData_InitGridView()

{

String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString

mytableDao dao=new mytableDao(conn)

Table dt=dao.Query(String.Format(" a ='{0}'",this.txtbox_a.Text))

//gridview

this.GridView1.DataSource=dt

this.GridView1.DataBind()

//textbox control

this.textbox_a.Text=dt.Rows[0][0].ToString()

}

4.3删除

private void Del()

{

String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString

mytableDao dao=new mytableDao(conn)

//根据条件删除指定记录

dao.Del(where)

}

4.4更新

private void Update()

{

String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString

mytableDao dao=new mytableDao(conn)

dao.Update(obj)//obj 为mytable的一个实例:需要更新的

}

5.配置文件中连接信息

<connectionStrings>

<add name="dbCon" connectionString="Data Source=192.168.1.100Initial Catalog=NorthwindUser ID=saPassWord=sa" providerName="System.Data.SqlClient"/>

</connectionStrings>

6.读取连接信息

System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9941408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存