Microsoft Visual C # 2010 - добавление данных в локальную базу данных - PullRequest
0 голосов
/ 11 октября 2011

Я перешел с PHP и с трудом сохраняю информацию в моей недавно созданной локальной базе данных.Я использую Microsoft Visual C # 2010, чтобы помочь мне учиться и развиваться.

Я читаю, что многие люди не любят наборы данных и предпочли бы игнорировать их все вместе.Это нормально, если я могу подключиться к моей локальной базе данных.(Я не использовал предоставленную опцию базы данных сервера, потому что я превращу свой готовый продукт в коммерческое решение, и для этого пользователям потребуется хранить свою информацию в локальной базе данных, в которой хранятся данные их проекта.

I 'Мы сделали видео, показывающее мою форму окна и мою базу данных, и степень моих знаний до сих пор. Может быть, вы, ребята, можете помочь? http://screencast.com/t/x9Qt1NtOgo6X

Ответы [ 4 ]

1 голос
/ 11 октября 2011

Существует много способов доступа к базе данных из вашего приложения.Они варьируются от низкоуровневых команд ado.net (SqlDataReader и т. Д.) До использования Object Relational Mapper (ORM), такого как Entity Framework.можно начать здесь:

http://windowsclient.net/learn/videos.aspx

1 голос
/ 11 октября 2011

Вот некоторый код, который использует SQLServer для прямой вставки, хотя вам понадобится строка подключения к вашей базе данных.

Включить базу данных сервера SQL включает в себя.

using System.Data.SqlClient; 
using System.Data.SqlTypes;

.,.

using (SqlConnection cn = new SqlConnection("XXXXX")) // must put a connection string to your database here
{
    cn.Open();
    using (SqlCommand cmd = new SqlCommand("INSERT INTO Session(field1, field2) VALUES(@Value1, @Value2)"))
    {
        cmd.Parameters.AddWithValue("@Value1", 4);
        cmd.Parameters.AddWithValue("@Value2", "test");
        cmd.ExecuteNonQuery();
    }
}
1 голос
/ 11 октября 2011

Что ж, если вам нужен быстрый, почти близкий к проводному коду, как это было в PHP, следующий код должен работать.

var conn = new SqlConnection("Your Connection String");
var command = conn.CreateCommand();
command.CommandText = "insert into sessions (id, name) values (@id, @name)";
command.Parameters.AddWithValue("@id", "");
command.Parameters.AddWithValue("@name", "test");
conn.Open();
command.ExecuteNonQuery();
command.Dispose();
conn.Close();

В долгосрочной перспективе было бы лучше, если бы вы привыкли к одной из сред, связанных с данными / ORM, таким как Entity Framework, NHibernate и тому подобное. Это действительно очень поможет в манипулировании данными и сделает вашу жизнь намного проще.

1 голос
/ 11 октября 2011

Это зависит от ваших требований, но в большинстве случаев я настоятельно рекомендую вам использовать Entity Framework или классы данных Linq to Sql.Вам было бы намного лучше ... начните с последнего ... надеюсь, это поможет.

[Отредактировано]

Если вы хотите увидеть, насколько простым может быть ORM:

  1. щелкните правой кнопкой мыши свой проект
  2. выберите Добавить новый элемент
  3. Выберите Linq to Sql Data Classes
  4. Когда вы добавите его, у вас будет пустой файл .dbml
  5. Перейдите в обозреватель серверов и добавьте соединение в sql db
  6. Перетащите таблицы куда угодно
  7. Начните использовать объекты вроде этого:

    using (DataClasses1DataContext db = new DataClasses1DataContext ("Источник данных = localhost \ sqlexpress; Начальный каталог = myDBName; Интегрированная безопасность = true")) {IEnumerable townsForUSA = db.Cities.Где (x => x.Country.Name == "Соединенные Штаты");

    City city = new City();
    city.Name = "Metropolis";
    //etc
    db.Cities.InsertOnSubmit(city);
    db.SubmitChanges(); // <-- INSERT INTO completed
    
    //etc
    

    }

Удачи!

:-)

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