保存到数据库MVC模式
本文关键字:模式 MVC 数据库 保存 | 更新日期: 2023-09-27 18:03:53
我对编程相当陌生,所以请原谅我。在整个项目中,我在不同的类中编写了以下代码,我想知道为什么我的输入没有存储在我的数据库中。我真的希望有人能帮助我,因为我已经为这个问题挣扎了几天了,清理了网络上最黑暗的角落。
首先,我应该告诉你,我的应用程序也在使用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);
}
}
}
My DBMovie Class
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();
}
}
}
需要调用SqlCommand对象上的ExecuteNonQuery。
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构造函数。您需要重写代码以使其正常工作。