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;
}
}

}
}

分不多 不好意思啊
展开
 我来答
suifeng2019
2010-07-28
知道答主
回答量:19
采纳率:0%
帮助的人:13.7万
展开全部
你在执行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();

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunzhenlinzz
2010-07-28 · TA获得超过650个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:180万
展开全部
我觉得应该把 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();
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
给世界一些震撼
2010-07-28 · TA获得超过1656个赞
知道小有建树答主
回答量:1011
采纳率:0%
帮助的人:707万
展开全部
cmd = new OracleCommand(sql); 这句修改一下

在OracleCommand实例化的时候加上 OracleConnection
cmd = new OracleCommand(sql, conn ); 改成这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式