Solved

TimeStamp/Datagrid update issue

Posted on 2004-08-23
6
444 Views
Last Modified: 2008-01-16
How would I get the code below to update a database and insert a  current date into the Reserve_Timestamp column?

string inv, dateT;
string key = DGrid.DataKeys[e.Item.ItemIndex].ToString();
TextBox box;
                  box = (TextBox)(e.Item.Cells[1].Controls[0]);
                  inv=box.Text;

                  // Gets the value the TextBox control in the fourth column
                  box = (TextBox)(e.Item.Cells[8].Controls[0]);
                  dateT= box.Text;

                  

                  string Sq;
                  DateTime ToDa = DateTime.Now;

                  Sq = "Update [Waveplate]" +
                        "set Inventory_Status=@Inventory_Status, Reserve_Timestamp='ToDa'"+
                        "where Part_Key =@Part_Key";

                  SqlCommand SCom = new SqlCommand(Sq, Conn);
                  //SqlParameterCollection CSql = SCom.Parameters;
                  SCom.Parameters.Add("@Part_Key",SqlDbType.Char);
                  SCom.Parameters.Add("@Inventory_Status", SqlDbType.Char);
                  SCom.Parameters.Add("@Reserve_Time", SqlDbType.DateTime);
            SCom.Parameters["@Part_Key"].Value = DGrid.DataKeys[(int)e.Item.ItemIndex];

SCom.Connection.Open();

                  try
                  {
                        SCom.ExecuteNonQuery();
                        Response.Write ("<b>Record Updated</b><br>" + Sq);
                        DGrid.EditItemIndex = -1;
                  }
                  catch (SqlException E)
                  {
                        if (E.Number == 2627)
                              Response.Write("ERROR: A record already exists with the same primary key");
                        else
                              Response.Write ("ERROR: Could not update record, please ensure the fields are correctly filled out");
                        

                  }

                  SCom.Connection.Close();

                  BindIt();
            }
0
Comment
Question by:devlins
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
6 Comments
 
LVL 3

Accepted Solution

by:
nhewitt21 earned 250 total points
ID: 11870411
change this:
  Sq = "Update [Waveplate]" + "set Inventory_Status=@Inventory_Status, Reserve_Timestamp='ToDa'"+ "where Part_Key =@Part_Key";

to this:
  Sq = "Update [Waveplate]" + " set Inventory_Status=@Inventory_Status, Reserve_Timestamp=" + ToDa + " where Part_Key =@Part_Key";

that should do it i think, hope this helps you out.
0
 

Author Comment

by:devlins
ID: 11870722
what do I need to change with the connection string and parameters in order for the code to work do you see
any errors in the code besides the sql script???
0
 
LVL 3

Expert Comment

by:nhewitt21
ID: 11870773
i see no problems with the code, although i don't see a db connections string.
0
 
LVL 10

Assisted Solution

by:EBatista
EBatista earned 250 total points
ID: 11880409
the @Reserve_Time parameters definitions do not corresponds with the query string you've built, also you have not set the value for @Inventory_Status.
try this:

Sq = "Update [Waveplate]" +
"set Inventory_Status=@Inventory_Status, Reserve_Timestamp=@Reserve_Time where Part_Key =@Part_Key";

SCom.Parameters.Add("@Part_Key",SqlDbType.Char);
SCom.Parameters["@Part_Key"].Value=key;

SCom.Parameters.Add("@Inventory_Status", SqlDbType.Char);
SCom.Parameters["@Inventory_Status"].Value=inv;

SCom.Parameters.Add("@Reserve_Time", SqlDbType.DateTime);
SCom.Parameters["@Reserve_Time"].Value=ToDa;
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question