c#访问oracle的问题.谢谢拉。

来源:百度知道 编辑:UC知道 时间:2024/06/04 11:46:21
OraDb10g_home创建了一个数据库QCW,创建一表WMM,包含两列one和two
现在用以下c#程序(windows应用程序项目):

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient;

namespace WindowsApplication6
{
public partial class Form1 : Form
{
string ConnectionString = "Data Source=QCW;User ID=SYSTEM;Password=whywhy;
string QueryString = "Update wmm Set two=99 where one=99999";
private void button1_Click(object sender, EventArgs e)
{
OracleConnection conn = new OracleConnection(ConnectionString);
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = QueryString;

conn.Close();
}

public Form1()
{

你确定你的Click事件有执行?

你根本就没执行更新语句!

OracleConnection conn = new OracleConnection(ConnectionString);
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = QueryString;

cmd.ExecuteNonQuery(); //加上这句

conn.Close();

你没有执行你的Command啊
在cmd.CommandText = QueryString; 的下面执行
cmd.ExecuteNonQuery();
SYSTEM可以执行,但一般不用它来登陆,因为它有dba的权限。
你的问题就是没有执行Execute。
ExecuteNonQuery是用来执行无返回数据的命令,如update,insert,delete,返回的结果是影响的行数,可以用来判断执行是否正确
需要返回的数据的话用ExecuteReader