c# oracle 插入时出现无效操作 连接被关闭 在线等
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSy...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OracleClient;
namespace mytest.db
{
public class DB
{
OracleCommand cmd;
OracleConnection conn;
public DB()
{
OracleConnectionStringBuilder OcnnstB =new OracleConnectionStringBuilder();
OcnnstB.DataSource = "Data Source=192.168.16.100:1521@orcl;Persist Security Info=True";
OcnnstB.UserID="thinkthink";
OcnnstB.Password="thinkthink";
conn = new OracleConnection(OcnnstB.ConnectionString);
try
{
conn.Open();
}
catch (Exception ee)
{
}
//finally
//{
// conn.Close();
//}
}
public int update(string sql)
{
Console.WriteLine(sql);
cmd = new OracleCommand(sql);
Console.WriteLine("------------------------------");
Console.WriteLine(conn);
Console.WriteLine("------------------------------");
return cmd.ExecuteNonQuery();
}
public void closeDB()
{
if (conn!= null)
{
conn.Close();
conn = null;
}
}
}
}
分不多 不好意思啊 展开
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OracleClient;
namespace mytest.db
{
public class DB
{
OracleCommand cmd;
OracleConnection conn;
public DB()
{
OracleConnectionStringBuilder OcnnstB =new OracleConnectionStringBuilder();
OcnnstB.DataSource = "Data Source=192.168.16.100:1521@orcl;Persist Security Info=True";
OcnnstB.UserID="thinkthink";
OcnnstB.Password="thinkthink";
conn = new OracleConnection(OcnnstB.ConnectionString);
try
{
conn.Open();
}
catch (Exception ee)
{
}
//finally
//{
// conn.Close();
//}
}
public int update(string sql)
{
Console.WriteLine(sql);
cmd = new OracleCommand(sql);
Console.WriteLine("------------------------------");
Console.WriteLine(conn);
Console.WriteLine("------------------------------");
return cmd.ExecuteNonQuery();
}
public void closeDB()
{
if (conn!= null)
{
conn.Close();
conn = null;
}
}
}
}
分不多 不好意思啊 展开
3个回答
展开全部
你在执行command时候没有给command给数据库连接信息
public int update(string sql)
{
Console.WriteLine(sql);
cmd = new OracleCommand(sql);
cmd.Connection = conn; //加上这句
Console.WriteLine("------------------------------");
Console.WriteLine(conn);
Console.WriteLine("------------------------------");
return cmd.ExecuteNonQuery();
}
public int update(string sql)
{
Console.WriteLine(sql);
cmd = new OracleCommand(sql);
cmd.Connection = conn; //加上这句
Console.WriteLine("------------------------------");
Console.WriteLine(conn);
Console.WriteLine("------------------------------");
return cmd.ExecuteNonQuery();
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得应该把 conn.Open();
放到update 函数中
而且确实应该加上cmd.Connection = conn;
像下面这样:
public int update(string sql)
{
try
{
Console.WriteLine(sql);
cmd = new OracleCommand(sql);
cmd.Connection = conn;
conn.Open();
Console.WriteLine("------------------------------");
Console.WriteLine(conn);
Console.WriteLine("------------------------------");
return cmd.ExecuteNonQuery();
}
catch (Exception ee)
{
}
finally
{
conn.Close();
}
}
放到update 函数中
而且确实应该加上cmd.Connection = conn;
像下面这样:
public int update(string sql)
{
try
{
Console.WriteLine(sql);
cmd = new OracleCommand(sql);
cmd.Connection = conn;
conn.Open();
Console.WriteLine("------------------------------");
Console.WriteLine(conn);
Console.WriteLine("------------------------------");
return cmd.ExecuteNonQuery();
}
catch (Exception ee)
{
}
finally
{
conn.Close();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cmd = new OracleCommand(sql); 这句修改一下
在OracleCommand实例化的时候加上 OracleConnection
cmd = new OracleCommand(sql, conn ); 改成这样
在OracleCommand实例化的时候加上 OracleConnection
cmd = new OracleCommand(sql, conn ); 改成这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |