Jak poprawnie powinno być zapisane:
Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()
w C#?
Proszę o pomoc
Jak poprawnie powinno być zapisane:
Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()
w C#?
Proszę o pomoc
string strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
partial class Default2 : System.Web.UI.Page
{
protected void btnNewCategory_Click(object sender, System.EventArgs e)
{
try {
addNewCategory(txtCategoryTitle.Text.Trim(), txtCategoryDescription.Text.Trim(), TextBox1.Text.Trim());
lblNewCatMessage.Visible = true;
} catch (Exception ex) {
throw ex;
}
}
#region "Data Layer"
private void addNewCategory(string strTitle, string strDescription, string strTextBox1)
{
// Variables declaration
string strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
SqlConnection sqlConn = new SqlConnection(strConnString);
SqlCommand sqlcmd = new SqlCommand();
// Building the query
string sqlQuery_Category = "INSERT INTO [Category] VALUES ('{0}', '{1}', '{2}')";
sqlQuery_Category = sqlQuery_Category.Replace("{0}", strTitle);
sqlQuery_Category = sqlQuery_Category.Replace("{1}", strDescription);
sqlQuery_Category = sqlQuery_Category.Replace("{2}", strTextBox1);
// Retrieving search result
sqlConn.Open();
sqlcmd.Connection = sqlConn;
// Adding records to table
sqlcmd.CommandText = sqlQuery_Category;
sqlcmd.ExecuteNonQuery();
sqlConn.Close();
}
#endregion
}
Pomimo, że kod się kompiluje to nie dodaje do bazy nic. W VB działało prawidłowo.
... To sobie przedebaguj kod w VB i C# i sprawdź co się podstawia pod zmienną strConnString .
To jest głupie:
catch (Exception ex) {
throw ex;
}
To zabawne:
#region "Data Layer"
A to zupełnie tragiczne:
// Building the query
string sqlQuery_Category = "INSERT INTO [Category] VALUES ('{0}', '{1}', '{2}')";
sqlQuery_Category = sqlQuery_Category.Replace("{0}", strTitle);
sqlQuery_Category = sqlQuery_Category.Replace("{1}", strDescription);
sqlQuery_Category = sqlQuery_Category.Replace("{2}", strTextBox1);
Skąd masz ten kod? Tak się tego nie robi, lepiej, ładniej i wygodniej używać SqlCommand.Parameters
: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx
Debuguj i sprawdź co się dzieje. Odpal SQL Server Profilera i sprawdź, czy w ogóle idzie zapytanie do bazy.