Файл базы данных MDF только для чтения. Приложение для Windows - PullRequest
0 голосов
/ 17 мая 2011

может кто-нибудь мне помочь.

Я пытался переместить файл MDF в разные места, но я все еще не могу обновить базу данных. Я использую Windows 7.

Вот мой код:

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

namespace TestDatabase
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        System.Data.SqlClient.SqlConnection con;
        DataSet ds1;
        System.Data.SqlClient.SqlDataAdapter da;

        int MaxRows = 0;
        int inc = 0;

        private void Form1_Load(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            ds1 = new DataSet();
            con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\rebdog\\AppData\\MyWorkers.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
            con.Open();

            string sql = "SELECT * From tblWorkers";
            da = new System.Data.SqlClient.SqlDataAdapter(sql, con);

            MessageBox.Show("database Open");

            da.Fill(ds1, "Workers");
            NavigateRecords();
            MaxRows = ds1.Tables["Workers"].Rows.Count;

            con.Close();

            MessageBox.Show("database closed");
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            System.Data.SqlClient.SqlCommandBuilder cb;

            cb = new System.Data.SqlClient.SqlCommandBuilder(da);

            DataRow dRow = ds1.Tables["Workers"].NewRow();

            dRow[1] = textBox1.Text;
            dRow[2] = textBox2.Text;
            dRow[3] = textBox3.Text;

            ds1.Tables["Workers"].Rows.Add(dRow);

            MaxRows = MaxRows + 1;
            inc = MaxRows - 1;

            da.Update(ds1,"Workers");
        }
    }
}

Код взят из учебника, мне нужно, чтобы это заработало, прежде чем я добавлю базу данных в свой проект.

Спасибо, ребята.

1 Ответ

1 голос
/ 17 мая 2011

В соответствии с вашим кодом (в строке подключения) файл mdf должен быть в

C:\Users\rebdog\AppData\MyWorkers.mdf

Соединение настроено на использование встроенной защиты, что означает, что для доступа к этой базе данных он использует ваш вход в Windows.Поэтому, если у вас есть проблемы с доступом к базе данных, это может быть связано с тем, что для этого требуется другая учетная запись пользователя, или из-за того, что у вашего пользователя нет доступа на чтение / запись к этой папке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...