C#:SqlCe问题,无法更新到数据库,但可以读取数据

本文关键字:数据库 但可以 数据 读取 更新 SqlCe 问题 | 更新日期: 2023-09-27 18:00:17

当我运行程序时,这段代码会读取并更新表单,但当我编辑datagridview中的值并单击update时,它不会更新
我正在关注一个视频教程系列,这段代码在视频中确实可以更新表格。

问题:当我编辑datagridview中的值时,为什么它不更新?

using System.Data.SqlServerCe;
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        private SqlCeConnection conn;       // Our Connection
        private SqlCeDataAdapter da;        // Data Adapter
        private DataSet ds;                 // Dataset
        private string sTable = "authors";  // Table Name
        public Form1()
        {
            InitializeComponent();
            InitData(); // Get the Data
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = sTable;              
        }
        public void InitData()
        {
            try
            {
                // Instantiate the Connection
                conn = new SqlCeConnection("Data Source=|DataDirectory|''Database1.sdf");
                // Instantiate a new DataSet
                ds = new DataSet();
                // init SQLDataAdapter with select command and connection
                da = new SqlCeDataAdapter("SELECT id, name, email FROM " + sTable, conn);
                // Automatically generates insert, update and delete commands
                SqlCeCommandBuilder cmdBldr = new SqlCeCommandBuilder(da);
                // Fill in the dataset view
                da.Fill(ds, sTable);
            }
            catch (Exception excep)
            {
                MessageBox.Show("Exception: " + excep.Message);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                da.Update(ds, sTable);
            }
            catch (Exception excep)
            {
                MessageBox.Show(excep.Message);
            }
        }
    }
}

程序正在编译,但单击按钮1时更新命令无法更新数据库。

C#:SqlCe问题,无法更新到数据库,但可以读取数据

这可能看起来很傻,但您是否检查过用于连接的用户名是否具有写入权限,而不仅仅是数据库上的只读权限?

相关文章: