我的数据库是一共有7列,名称为STATUs,除了TIME这列为DATE型,其他各列均为VARCHAR2型,其他各列均是在界面上有用户在文本框里输入,其中NAME列与另一个表的NAME列关联,是那个列的外键。下面是我的输入数据库按钮的代码,请看看,总是不能实现录入
private void button1_Click(object sender, System.EventArgs e)
{
OracleConnection conn = new OracleConnection("Data Source=MYSW;User ID=TRANSFORMER;Password=1;");
conn.Open();
string Name = txtTransName.Text.ToString();
string Dust = txtDust.Text.ToString();
string Water = txtWater.Text.ToString();
string Color = txtColor.Text.ToString();
string Bomb = txtBomb.Text.ToString();
string Clean = txtClean.Text.ToString();
string sql= "insert into STATUS(NAME,TIME,DUST,WATER,COLOR,BOMB,CLEAN) values ('Name',to_date(System.DateTime.Now.ToString(),'yyyy-mm-dd hh24:mi:ss'),'Dust','Water','Color','Bomb','Clean')";OracleCommand cmd = new OracleCommand(sql,conn);
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
conn.Close();}总是在cmd.ExecuteNonQuery();这句执行不下去了,请问是怎么回事呢?我输入的NAME是在之前那个关联的表中存在的NAME也不行!

解决方案 »

  1.   

    使用oracle中的insert的话.加上
    to_date至于在java里面.我相信你可以查询online doc 来解决你的编程里的写法.
      

  2.   

    你先把数据使用SQL语句的形式插入到数据库中,如何有问题就说明你的数据格式有问题,如果没问题,就说明是你的Java程序的问题。
      

  3.   

    晕~~ 看来LS的几位都是搞Java的  LZ的是.NET代码哦string sql= "insert into STATUS(NAME,TIME,DUST,WATER,COLOR,BOMB,CLEAN) values ('Name',to_date(System.DateTime.Now.ToString(),'yyyy-mm-dd hh24:mi:ss'),'Dust','Water','Color','Bomb','Clean')";改成下面的代码:string sql= "insert into STATUS(NAME,TIME,DUST,WATER,COLOR,BOMB,CLEAN) values ('Name',to_date('"+System.DateTime.Now.ToString()+"','yyyy-mm-dd hh24:mi:ss'),'Dust','Water','Color','Bomb','Clean')";试试看~~
      

  4.   

    插入时日期类型用to_date('xxxx-xx-xx','yyyy-mm-dd')转换查询时用to_char(date型字段名,'YYYY-MM-DD HH24:MI:SS')
      

  5.   

    用的着那么复杂吗?
    time 是 date 类型的话
    这样就可以了吧
    string sql= "insert into STATUS(NAME,TIME,DUST,WATER,COLOR,BOMB,CLEAN) values ('Name',sysdate,'Dust','Water','Color','Bomb','Clean')";
    就可以了
    jsp 是可以的
    就看.net了