.net连接oracle数据库---Shinepans,oracle---shinepans
常见问题:
1.缺少引用 解决办法 ,添加引用:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.OracleClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.Common; using Oracle.DataAccess;
2.连接字符串:
globals.connectionString = "Data Source="+this.databaseName.Text.Trim()+";uid="+this.username.Text.Trim()+";pwd="+this.password.Text.Trim()+";"; globals.username = this.username.Text.Trim(); globals.databaseName = this.databaseName.Text.Trim();
这是我的一贯风格,喜欢用globals类管理通用的字符串.方便管理,通过上面的代码就可以知道连接字符串了.
3.查询:
查询格式如上
运行结果:
1.登录:2.登录结果:
3.显示主界面 (测试)
4.查询数据库:
至此,查询功能已完成
关键点:
1.查询语句中,不要带分号,会提示关键字错误
2.引用要添加好:
using System.Data.Common;
using Oracle.DataAccess;
3.连接字符串要写好:
"Data Source=shinepans;uid=system;pwd=123;unicode=True"
上面的改写成你的
代码片:
Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace Net3._5_oracleTest { static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new LoginForm()); } } }
LoginForm.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.OracleClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Net3._5_oracleTest { public partial class LoginForm : Form { public LoginForm() { InitializeComponent(); } private void textBox1_TextChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { globals.connectionString = "Data Source="+this.databaseName.Text.Trim()+";uid="+this.username.Text.Trim()+";pwd="+this.password.Text.Trim()+";"; globals.username = this.username.Text.Trim(); globals.databaseName = this.databaseName.Text.Trim(); OracleConnection conn = new OracleConnection(globals.connectionString); try { conn.Open(); MessageBox.Show("已连接到Oracle数据库!"); MainForm mf = new MainForm(); this.Hide(); mf.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message); }finally { conn.Close(); } } } }
MainForm.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.OracleClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Net3._5_oracleTest { public partial class LoginForm : Form { public LoginForm() { InitializeComponent(); } private void textBox1_TextChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { globals.connectionString = "Data Source="+this.databaseName.Text.Trim()+";uid="+this.username.Text.Trim()+";pwd="+this.password.Text.Trim()+";"; globals.username = this.username.Text.Trim(); globals.databaseName = this.databaseName.Text.Trim(); OracleConnection conn = new OracleConnection(globals.connectionString); try { conn.Open(); MessageBox.Show("已连接到Oracle数据库!"); MainForm mf = new MainForm(); this.Hide(); mf.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message); }finally { conn.Close(); } } } }
GridView_UserInfo.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.OracleClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.Common; using Oracle.DataAccess; namespace Net3._5_oracleTest { public partial class GrideViews_UserInfo : Form { public GrideViews_UserInfo() { InitializeComponent(); } private void GrideViews_UserInfo_Load(object sender, EventArgs e) { string sql1 = "SELECT * FROM infoofuser"; OracleConnection myconn = new OracleConnection(globals.connectionString); OracleCommand mycmd = myconn.CreateCommand(); mycmd.CommandText = sql1; myconn.Open(); OracleDataAdapter oraDA = new OracleDataAdapter(mycmd); DataSet ds = new DataSet(); oraDA.Fill(ds); myconn.Close(); DataTable dtbl = ds.Tables[0]; this.dataGridView1.DataSource = dtbl; } } }
总结:
如果你的引用没有我说的两个,需要在项目里找引用,然后右键选择添加这个是大家都知道的,oracle的各种错误让人烦恼不已,各种错误,幸好有百度,可以查询错在哪里,所以不要害怕困难,多总结.
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。