代码之家  ›  专栏  ›  技术社区  ›  mjb

如何在NPGSQL中删除表中的行?

  •  1
  • mjb  · 技术社区  · 14 年前

    我正在使用此代码删除表中的一行,但它不起作用。 我是犯了错误还是漏掉了什么?

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Npgsql;
    
    namespace WindowsFormsApplication4
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button_RemoveBook_Click(object sender, EventArgs e)
            {
                NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=5432;User Id=user;Password=1234;Database=library;");
                conn.Open();
                string sql = "DELETE FROM books WHERE BookID=1;";
                NpgsqlCommand command = new NpgsqlCommand(sql, conn);
                conn.Close();
            }
        }
    }
    

    上面的任务运行时,我注意到数据库没有做任何更改。bookid=1(数据库中的第一行)仍然保留。

    我试过使用insert命令,它可以工作。新数据已插入到表的最后一行中。下面的代码运行良好。

    private void button_addBook_Click(object sender, EventArgs e)
    {
        NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=5432;User Id=user;Password=1234;Database=library;");
        conn.Open();
        string addRow = string.Format("insert into books values(50,'Time','Frank','Science')");
        NpgsqlCommand command = new NpgsqlCommand(addRow, conn);
        conn.Close();
    

    有什么线索吗?谢谢。


    响应:A目标

    它显示此错误消息:
    http://i901.photobucket.com/albums/ac218/pcser/error.jpg

    2 回复  |  直到 14 年前
        1
  •  1
  •   mjb    14 年前







        string sql = "DELETE FROM books WHERE \"BookID\"=1;"; 
    

        string sql = "DELETE FROM books WHERE BookID=1;"; 
    


        2
  •  0
  •   Adriaan Stander    14 年前

    NpgsqlCommand.ExecuteNonQuery Method

    private void button_RemoveBook_Click(object sender, EventArgs e) 
    { 
        NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=5432;User Id=user;Password=1234;Database=library;"); 
        conn.Open(); 
        string sql = "DELETE FROM books WHERE BookID=1;"; 
        NpgsqlCommand command = new NpgsqlCommand(sql, conn); 
        command.ExecuteNonQuery(); //this line here??
        conn.Close(); 
    }