1、 查询oracle序列值 精品资料 查询oracle序列值 1、 在数据源增加引用: System.Configuration System.Data.OracleClient 2、 在相关表的对象类中增加using: using System.Data.OracleClient; using System.Configuration; 3、 用以下内容直接取值: private Int32 getSeq() { int activityid = 0; try
2、 { using (OracleConnection con = new OracleConnection()) { string connectionStringName = this.DataWorkspace.DataSource1.Details.Name; string connectionString = ConfigurationManager.ConnectionStrings[connectionStringNam
3、e].ConnectionString; string username = ""; string password = ""; string sid = ""; string host = ""; connectioninfo(ref connectionString, out host, out sid, out username, out password);
4、 con.ConnectionString =string.Format(@"Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA =(SID = {1})(SERVER = DEDICATED)));User Id={2};Password={3};", host.Trim(), sid.Trim(), usern
5、ame.Trim(), password.Trim()); string seqSql = "select seq_pernt.nextval from dual"; using (OracleCommand command = new OracleCommand(seqSql, con)) { con.Open(); using (OracleDataReader dr
6、 command.ExecuteReader()) { if (dr.Read()) { activityid = dr.GetInt32(0); } } } }
7、 } catch (Exception e) { Console.WriteLine("数据库操作错误:"+e.Message); } return activityid; } private void connectioninfo(ref string coninfo, out string host, out string sid, out string username, out string pas
8、sword) { username = ""; password = ""; sid = ""; host = ""; string[] strs = coninfo.Split(';'); if (strs != null && strs.Length > 0) { foreach (string str in strs) {
9、 if (str.StartsWith("User Id")) { username = str.Substring(8); } else if (str.StartsWith("Password")) { password = str.Substring(9);
10、 } else if (str.StartsWith("Server")) { host = str.Substring(7); } else if (str.StartsWith("Sid")) { sid = str.Substring(4); } } } } 仅供学习与交流,如有侵权请联系网站删除 谢谢3






