Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > C# delete code

Reply
Thread Tools

C# delete code

 
 
NoSpam
Guest
Posts: n/a
 
      08-03-2003
Hi,

I am working with C# and ASP.NET with code behind and a SQL Server.
I'm making an e-shop. When clients see what they have in their basket,
I added a function DELETE to delete a line. It took me hours to get it
working in both the dataset and the database itself. It works now, but
the code looks so ugly to me. Can someone tell me what I use too much,
and what could be changed? I am using a temporary table to store the
basket with an ID, a session id.

Thanks!

private void DataGrid1_DeleteCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
String strConnection =
ConfigurationSettings.AppSettings["xyz"];
SqlConnection objConnection = new
SqlConnection(strConnection);
objConnection.Open();
String strSQL;
strSQL="SELECT tblProdPrice.Photo, tblProducts.Product,
tblTempOrder.Number, tblProdPrice.Price, tblTempOrder.ID FROM
tblTempOrder INNER JOIN tblProducts ON tblTempOrder.ProductID =
tblProducts.WebID INNER JOIN tblProdPrice ON tblProducts.WebID =
tblProdPrice.ID WHERE tblTempOrder.SesID='" + Session.SessionID + "'
AND tblProducts.Lang='" + Session["CkTaal"].ToString() + "'";
SqlCommand objCommand = new SqlCommand(strSQL, objConnection);
SqlDataAdapter adapter = new SqlDataAdapter(objCommand);
DataSet mandje = new DataSet();
adapter.Fill(mandje,"Mandje");

int row = Convert.ToInt32(e.Item.ItemIndex);
string test =
mandje.Tables["Mandje"].Rows[row]["ID"].ToString();

mandje.Tables["Mandje"].Rows[row].Delete();

strSQL="DELETE FROM tblTempOrder WHERE tblTempOrder.ID = '" +
test + "'";
SqlCommand objCommand2 = new SqlCommand(strSQL,
objConnection);
SqlDataAdapter adapter2 = new SqlDataAdapter(objCommand2);
DataSet mandje2 = new DataSet();
adapter2.Fill(mandje2,"Mandje");
objConnection.Close();

DataGrid1.DataSource=mandje;
DataGrid1.DataBind();

if
(GetTotaalFromDatabase().Tables["Totaal"].Rows[0][0].ToString()=="")
{
lblTotaal.Text="0";
}
else
{
lblTotaal.Text =
Double.Parse(GetTotaalFromDatabase().Tables["Totaal"].Rows[0][0].ToString()).ToString("F2");
lblTotaal.DataBind();
}
}
 
Reply With Quote
 
 
 
 
carlos medina
Guest
Posts: n/a
 
      08-03-2003

maybe is more easy to develop a store procedure that receive three parameters, SessionID, Session["CkTall"] and rowIndex, and inside it make all operation ( query, select the test value and after delete rows ), after it you can return the "query"................... in this form, in the code I'll put only one statement that query in a SqlDataAdapter that does the connection to db and return the DataSet.......


below are the changes that I'll do it to the code:

private void DataGrid1_DeleteCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{


SqlConnection objConnection = new SqlConnection(ConfigurationSettings.AppSettings["xyz"]);

objConnection.Open();
String strSQL;
strSQL="SELECT tblProdPrice.Photo, tblProducts.Product,
tblTempOrder.Number, tblProdPrice.Price, tblTempOrder.ID FROM
tblTempOrder INNER JOIN tblProducts ON tblTempOrder.ProductID =
tblProducts.WebID INNER JOIN tblProdPrice ON tblProducts.WebID =
tblProdPrice.ID WHERE tblTempOrder.SesID='" + Session.SessionID + "'
AND tblProducts.Lang='" + Session["CkTaal"].ToString() + "'";
SqlCommand objCommand = new SqlCommand(strSQL, objConnection);
SqlDataAdapter adapter = new SqlDataAdapter(objCommand);
DataSet mandje = new DataSet();
adapter.Fill(mandje,"Mandje");

int row = Convert.ToInt32(e.Item.ItemIndex);
string test =
mandje.Tables["Mandje"].Rows[row]["ID"].ToString();

mandje.Tables["Mandje"].Rows[row].Delete();

strSQL="DELETE FROM tblTempOrder WHERE tblTempOrder.ID = '" +
test + "'";
SqlCommand objCommand2 = new SqlCommand(strSQL,
objConnection);

objCommand2.ExecuteNonQuery();

objConnection.Close();

DataGrid1.DataSource=mandje;
DataGrid1.DataBind();

if
(GetTotaalFromDatabase().Tables["Totaal"].Rows[0][0].ToString()=="")
{
lblTotaal.Text="0";
}
else
{
lblTotaal.Text =
Double.Parse(GetTotaalFromDatabase().Tables["Totaal"].Rows[0][0].ToString()).ToString("F2");
lblTotaal.DataBind();
}
}

"NoSpam" <(E-Mail Removed)> wrote in message news:(E-Mail Removed)...
> Hi,
>
> I am working with C# and ASP.NET with code behind and a SQL Server.
> I'm making an e-shop. When clients see what they have in their basket,
> I added a function DELETE to delete a line. It took me hours to get it
> working in both the dataset and the database itself. It works now, but
> the code looks so ugly to me. Can someone tell me what I use too much,
> and what could be changed? I am using a temporary table to store the
> basket with an ID, a session id.
>
> Thanks!
>
> private void DataGrid1_DeleteCommand(object source,
> System.Web.UI.WebControls.DataGridCommandEventArgs e)
> {
> String strConnection =
> ConfigurationSettings.AppSettings["xyz"];
> SqlConnection objConnection = new
> SqlConnection(strConnection);
> String strSQL;
> strSQL="SELECT tblProdPrice.Photo, tblProducts.Product,
> tblTempOrder.Number, tblProdPrice.Price, tblTempOrder.ID FROM
> tblTempOrder INNER JOIN tblProducts ON tblTempOrder.ProductID =
> tblProducts.WebID INNER JOIN tblProdPrice ON tblProducts.WebID =
> tblProdPrice.ID WHERE tblTempOrder.SesID='" + Session.SessionID + "'
> AND tblProducts.Lang='" + Session["CkTaal"].ToString() + "'";
> SqlCommand objCommand = new SqlCommand(strSQL, objConnection);
> SqlDataAdapter adapter = new SqlDataAdapter(objCommand);
> DataSet mandje = new DataSet();
> adapter.Fill(mandje,"Mandje");
>
> int row = Convert.ToInt32(e.Item.ItemIndex);
> string test =
> mandje.Tables["Mandje"].Rows[row]["ID"].ToString();
>
> mandje.Tables["Mandje"].Rows[row].Delete();
>
> strSQL="DELETE FROM tblTempOrder WHERE tblTempOrder.ID = '" +
> test + "'";
> SqlCommand objCommand2 = new SqlCommand(strSQL,
> objConnection);
> SqlDataAdapter adapter2 = new SqlDataAdapter(objCommand2);
> DataSet mandje2 = new DataSet();
> adapter2.Fill(mandje2,"Mandje");
> objConnection.Close();
>
> DataGrid1.DataSource=mandje;
> DataGrid1.DataBind();
>
> if
> (GetTotaalFromDatabase().Tables["Totaal"].Rows[0][0].ToString()=="")
> {
> lblTotaal.Text="0";
> }
> else
> {
> lblTotaal.Text =
> Double.Parse(GetTotaalFromDatabase().Tables["Totaal"].Rows[0][0].ToString()).ToString("F2");
> lblTotaal.DataBind();
> }
> }

 
Reply With Quote
 
 
 
 
Yan-Hong Huang[MSFT]
Guest
Posts: n/a
 
      08-05-2003
Hello,

There is one good article on data acess in .NET.(".NET Data Access Architecture Guide")

You could get it at http://msdn.microsoft.com/library/en...asp?frame=true

This article provides information to help you choose the most appropriate data access approach. It does this by describing
a wide range of common data access scenarios, providing performance tips, and prescribing best practices. This guide
also provides answers to frequently asked questions, such as: Where is the best place to store database connection
strings? How should I implement connection pooling? How should I work with transactions? How should I implement paging
to allow users to scroll through large numbers of records?

Hope that helps.

Best regards,
Yanhong Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
!From: NoSpam <(E-Mail Removed)>
!Newsgroups: microsoft.public.dotnet.framework.aspnet
!Subject: C# delete code
!Message-ID: <(E-Mail Removed)>
!X-Newsreader: Forte Agent 1.93/32.576 English (American)
!MIME-Version: 1.0
!Content-Type: text/plain; charset=us-ascii
!Content-Transfer-Encoding: 7bit
!Lines: 62
!X-Complaints-To: http://www.velocityreviews.com/forums/(E-Mail Removed)
!Organization: EasyNews, UseNet made Easy!
!X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint
properly.
!Date: Sun, 03 Aug 2003 09:43:40 GMT
!Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!newsfeed 00.sul.t-online.de!t-online.de!newsfeed.icl.net!
newsfeed.fjserv.net!newshosting.com!news-xfer1.atl.newshosting.com!140.99.99.194.MISMATCH!n ewsfeed1.easynews.com!
easynews.com!easynews!easynews-local!news.easynews.com.POSTED!not-for-mail
!Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework.aspnet:164407
!X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
!
!Hi,
!
!I am working with C# and ASP.NET with code behind and a SQL Server.
!I'm making an e-shop. When clients see what they have in their basket,
!I added a function DELETE to delete a line. It took me hours to get it
!working in both the dataset and the database itself. It works now, but
!the code looks so ugly to me. Can someone tell me what I use too much,
!and what could be changed? I am using a temporary table to store the
!basket with an ID, a session id.
!
!Thanks!
!
!private void DataGrid1_DeleteCommand(object source,
!System.Web.UI.WebControls.DataGridCommandEventArg s e)
!{
! String strConnection =
!ConfigurationSettings.AppSettings["xyz"];
! SqlConnection objConnection = new
!SqlConnection(strConnection);
! objConnection.Open();
! String strSQL;
! strSQL="SELECT tblProdPrice.Photo, tblProducts.Product,
!tblTempOrder.Number, tblProdPrice.Price, tblTempOrder.ID FROM
!tblTempOrder INNER JOIN tblProducts ON tblTempOrder.ProductID =
!tblProducts.WebID INNER JOIN tblProdPrice ON tblProducts.WebID =
!tblProdPrice.ID WHERE tblTempOrder.SesID='" + Session.SessionID + "'
!AND tblProducts.Lang='" + Session["CkTaal"].ToString() + "'";
! SqlCommand objCommand = new SqlCommand(strSQL, objConnection);
! SqlDataAdapter adapter = new SqlDataAdapter(objCommand);
! DataSet mandje = new DataSet();
! adapter.Fill(mandje,"Mandje");
!
! int row = Convert.ToInt32(e.Item.ItemIndex);
! string test =
!mandje.Tables["Mandje"].Rows[row]["ID"].ToString();
!
! mandje.Tables["Mandje"].Rows[row].Delete();
!
! strSQL="DELETE FROM tblTempOrder WHERE tblTempOrder.ID = '" +
!test + "'";
! SqlCommand objCommand2 = new SqlCommand(strSQL,
!objConnection);
! SqlDataAdapter adapter2 = new SqlDataAdapter(objCommand2);
! DataSet mandje2 = new DataSet();
! adapter2.Fill(mandje2,"Mandje");
! objConnection.Close();
!
! DataGrid1.DataSource=mandje;
! DataGrid1.DataBind();
!
! if
!(GetTotaalFromDatabase().Tables["Totaal"].Rows[0][0].ToString()=="")
! {
! lblTotaal.Text="0";
! }
! else
! {
! lblTotaal.Text =
!Double.Parse(GetTotaalFromDatabase().Tables["Totaal"].Rows[0][0].ToString()).ToString("F2");
! lblTotaal.DataBind();
! }
!}
!


 
Reply With Quote
 
SNK111 SNK111 is offline
Junior Member
Join Date: Apr 2010
Posts: 6
 
      06-02-2010
Check this article: shahriarnk.com/Shahriar-N-K-Research-Embedding-SQL-in-C-Sharp-Java.html for details on how to connect to SQL Server database from C#.NET database applications as well as Java database applications. It also describes how to pass embedded SQL queries, calling stored procedures, pass parameters etc.

Here you will find the correct way to do the work you have described, as suggested by Microsoft documentation.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
To delete or not to delete? Lethal Computer Support 15 07-24-2005 11:47 PM
Can someone tell me why I can't delete this file? and why it blue screens WinXP Pro on delete? zZz Computer Support 1 01-12-2005 02:37 AM
Cannot Delete, (The Delete Key Won't Work) Lee Something Computer Support 13 10-15-2003 09:51 PM
Overloading new[] and delete[]: how do they vary from new and delete? HeroOfSpielburg C++ 1 08-06-2003 03:58 AM
delete on delete ! Sandeep Grover C++ 19 07-22-2003 10:09 AM



Advertisments