Z VB na C#, zamiana instrukcji

0

Jak poprawnie powinno być zapisane:

Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()

w C#?
Proszę o pomoc

0
string strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
0
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.

0

... To sobie przedebaguj kod w VB i C# i sprawdź co się podstawia pod zmienną strConnString .

0

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1