Сохранение в DATABASE MVC шаблон

1

Я новичок в программировании, поэтому, пожалуйста, несите меня. Я написал следующий код в разных классах по всему проекту, и мне интересно, почему мой вход не сохраняется в моей базе данных. Я действительно надеюсь, что кто-то может мне помочь, так как я уже несколько дней борюсь с этой проблемой, очищая темные углы Интернета.

Прежде всего, я должен сказать вам, что мое приложение также использует WCF, поэтому методы должны быть вызваны через WCFService для Клиента. Любая помощь будет принята с благодарностью!

PS: Если это поможет, вот скриншот моего обзора решения: http://imgur.com/JV9Xl3K

Код клиента:

  using Client.WCFServiceRef;  //My wcf Service reference

namespace Client
{
    public partial class MainWindow : Window
    {
        private WCFServiceClient Client;
        public MainWindow()
        {
            InitializeComponent();
            Client = new WCFServiceClient();
        }
        public string getMovieName()
        {
            string movieName = txtName.Text;
            return movieName;
        }
        public string getMovieLength()
        {
            string movieLength = txtLength.Text;
            return movieLength;
        }
        public string getMovieDesc()
        {
            string movieDesc = txtDescription.Text;
            return movieDesc;
        }
        private void btnMovies_Click(object sender, RoutedEventArgs e)
        {
            Client.addMovie(getMovieName(), getMovieLength(), getMovieDesc());
        }
    }
}

Мой код MovieController:

using Server.DB;

namespace Server.Control
{
    class MovieCtr
    {
        public void addMovie(string movieName, string movieLength, string movieDesc)
        {
            DBMovie conObj = new DBMovie();
            conObj.addMovie(movieName, movieLength, movieDesc);
        }
    }
}

Мой класс DBMovie

namespace Server.DB
{
    public class DBMovie
    {
        DBConnection dbCon = new DBConnection();
        public void addMovie(string movieName, string movieLength, string movieDesc)  
        {
            dbCon.openConnection();
            SqlCommand com = new SqlCommand();
            string query = "INSERT into movies (Name, Runtime, Description) VALUES  ('" + movieName + "','" + movieLength + "','" + movieDesc + "');"; 
            com.CommandText = query;


        }
    }
}

Наконец, мой класс dbconnection

namespace Server.DB
{
    public class DBConnection
    {
        SqlConnection sc = new SqlConnection();
        public void openConnection()
        {
            try
            {
                sc.ConnectionString = ("Data Source=balder.ucn.dk;Initial Catalog=dmaa0213_6;User ID=dmaa0213_6;password=XXXXXX");
                sc.Open();
            }  //endTry
            catch (SqlException ex)
            {
                Console.WriteLine("Could not open connection to database");
                Console.WriteLine(ex);
            }
        }
        public void closeConnection()
        {
            sc.Close();
        }
    }
}
Теги:
asp.net-mvc
wcf
database-connection

1 ответ

1
Лучший ответ

Вы должны вызвать ExecuteNonQuery для объекта SqlCommand.

string query = "INSERT into movies (Name, Runtime, Description) VALUES  ('" + movieName + "','"    + movieLength + "','" + movieDesc + "');"; 
com.CommandText = query;
com.ExecuteNonQuery();

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx

Еще одна вещь, вам нужно связать ваше соединение с объектом команды. В примере на веб-странице выше объект SqlConnection передается в конструктор SqlCommand. Вам нужно будет переписать код для правильной работы.

  • 0
    Казалось, это что-то делает, но теперь приводит к сбою приложения при нажатии кнопки. (угадайте, что это лучше, чем раньше, когда кнопка, кажется, мало что делает.
  • 0
    Проблема в том, что, как уже говорилось, я действительно новичок в программировании, и не совсем уверен, что вы подразумеваете под этим.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню