解决方法:
在项目的属性里->生成->平台目标->将原来anycpu改为x64
Data Source的取值问题
解决方法:弄清楚Data Source的取值的意义是什么,结果是连接的服务器名字
利用此语句查询select global_name from global_name;
得出Data Source取值是ORCL
如果不改的情况下默认是ORCL
刚开始不知道怎么连接Oracle
解决方法:在网上搜索后,通过实践解决
添加引用—>System.Data.OracleClient
再利用语句进行操作
Oracle操作语句的单引号问题
解决方法:
查询更新删除时:利用双引号将单引号包含在字符串从而解决数据类型不匹配的问题
例:
"select * from students where studentid=" + id + " and password="+ "'" + psd + "'"
插入数据时:将双引号包含在单引号里,从而实现插入
例:
"INSERT INTO students VALUES ('','"+name+ "','" + psd + "','" + phone+ "','" + emial+ "')"
怎么将oracle里表的数据添加到combox的下拉框里,从而实现自动更新下拉框列表
解决方法:利用comboBox1.Items.Add()
如何让下拉框里显示多条信息,并且再逐条信息提取出来
解决方法:
如:课程号—课程名显示成一列
this.comboBox1.Items.Add(dtr.GetOracleNumber(0).ToString()+"-"+dtr.GetString(1));
提取数据:string[] s = comboBox1.Text.Split(new char[] { '-' });
S[0],s[1]…依此对应第一第二条的数据
如何通过combox的值的不同进入不同界面
解决方法:利用if 进行判断combox的值满足那个条件进入那个界面
如:
if (comboBox1.Text == "管理员登陆")
{}
if (comboBox1.Text == "学生登陆")
{}
if (comboBox1.Text == "教师登陆")
{}
选课表,和授课表在刚开始的时候分别设立了学号和教师号,导致一名学生只能选一门课,一个老师只能教授一门课
解决方法:
进入oracle的命令行进入用户
drop table xuanke drop primary key;
删除选课表studentid的主键约束;
drop table shouke drop primary key;删除授课表teacherid的主键约束;
界面中哪一项修改在数据库里更新哪一项
解决方法:判断点击按钮后textBox1.Text值与点击按钮前的值是否有变化,如果有变化,则进入对应更新程序
程序包体创建的过程中一直出错,但是cmd里不现实错误信息
解决方法: 输入show errors;
显示出现错误信息,从而解决问题
如何实现oracle的程序包的调用,从网上查询之后解决
解决方法:
如下:
var conn = new OracleConnection(connString);
try
{
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd = new OracleCommand("pkg_xuanke.delete_xuanke_id", conn);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter p1 = new OracleParameter("course_id", OracleType.Number);
p1.Direction = ParameterDirection.Input;
int id =int.Parse(s[0]);
p1.Value = id;
OracleParameter p2 = new OracleParameter("student_id", OracleType.Number);
p2.Direction = ParameterDirection.Input;
int d = int.Parse(global.id);
p2.Value = d;
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
if (cmd.ExecuteNonQuery() > 0)
{
MessageBox.Show("删除选课记录成功");
}
else
{
MessageBox.Show("删除选课记录失败");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
conn.Close();
}
在调试程序的过程出现无论怎么改程序,程序的运行界面内容都不变;
解决方法:将Users\admin\Desktop\Oracle实训\代码\network teaching platform\network teaching platform\obj\的文件夹下的debug文件夹删除,重新编译生成
}
如何建立一个类似于全局变量的变量。可以供程序的每个界面调用
解决方法:在该命名空间下新建一个类如下:
public class global
{
public static string name = "";
public static string id= "";
public static string psd= "";
public static int a = 0;
}
调用方法:global.a global.psd global.id