|
I spotted that moments after submitting my reply...
It's working perfectly now...thanks man!
|
|
|
|
|
Is there any benefit to adding BEGIN TRANSACTION; and COMMIT; to the beginning and end of a parameterized query in C#. Also, is there any real advantage to stored procedures vs parameterized queries?
For Example:
using (SqlConnection dbConnection = new SqlConnection(GSettings.SQLConnectionString))
{
dbConnection.Open();
for (int i = 0; i < DBUpdateList.Count; i++)
{
string selectSQL = "BEGIN TRANSACTION; UPDATE TABLE SET Dog = <a href="/Members/dog">@Dog</a>; COMMIT;";
using (SqlCommand dbCommand = new SqlCommand(selectSQL, dbConnection))
{
dbCommand.Parameters.AddWithValue("<a href="/Members/dog">@Dog</a>", "Poodle");
dbCommand.ExecuteNonQuery();
}
}
}
|
|
|
|
|
Personally I would only use BEGIN TRANSACTION; END in a stored procedure.
If you want to use transactions with your ADO.NET query I would read this MSDN transactionscope[^]
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
BBatts wrote: Is there any benefit
No.
BBatts wrote: stored procedures vs parameterized queries
Those aren't mutually exclusive; even if you use stored procedures, you should still use a parameterized command to provide values (as necessary).
I also recommend that you not keep reinstantiating the Command, but reuse one:
instantiate command
add parameter(s)
(begin transaction if desired)
loop:
set Value(s)
Execute
(commit transaction)
|
|
|
|
|
BBatts wrote: <layer>Is there any benefit to adding BEGIN TRANSACTION; and COMMIT; to the beginning and end of a parameterized query in C# I'd recommend getting a SQL manual, and that's not meant as a snarky remark; programming often involves databases, and you'll need to dig into transactions sooner or later. Life also becomes easier when you can look up what each statement does
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Got one you would recommended?
|
|
|
|
|
Hi,
Did anyone tried Xamarin to develop iOS or Android apps using C#?
How was it?
Technology News @ www.JassimRahma.com
|
|
|
|
|
That's not a specific question.
Yep, I have seen that ThatsAlok[^] recently posted more than bunch of articles[^] on that topic. You could find few more CP members here.
And I suggest you to take a look at Mobile Development[^] section @ Codeproject.
|
|
|
|
|
private void Update_Click(object sender, EventArgs e)
{
try
{
if (connect.State == ConnectionState.Open)
{
connect.Close();
}
connect.Open();
SqlCommand cmd = connect.CreateCommand();
cmd = new SqlCommand("sp_UpdateDepartStaff", connect);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@StaffID", SqlDbType.Int).Value = logInIDTextBox.Text.ToString();
cmd.Parameters.AddWithValue("@LogInID", SqlDbType.Int).Value = staffIDTextBox.Text.ToString();
cmd.Parameters.AddWithValue("@StaffRoleID", SqlDbType.Int).Value = staffRoleIDTextBox.Text.ToString();
cmd.Parameters.AddWithValue("@FirstName", SqlDbType.NVarChar).Value = firstNameTextBox.Text;
cmd.Parameters.AddWithValue("@LastName", SqlDbType.NVarChar).Value = lastNameTextBox.Text;
cmd.Parameters.AddWithValue("@UserName", SqlDbType.NVarChar).Value = userNameTextBox.Text;
cmd.Parameters.AddWithValue("@Password", SqlDbType.NVarChar).Value = passwordTextBox.Text;
cmd.Parameters.AddWithValue("@Email", SqlDbType.NVarChar).Value = emailTextBox.Text;
cmd.Parameters.AddWithValue("@Phone", SqlDbType.NVarChar).Value = phoneTextBox.Text;
cmd.Parameters.AddWithValue("@StaffRole", SqlDbType.NVarChar).Value = staffRoleTextBox.Text;
cmd.Parameters.AddWithValue("@Department", SqlDbType.NVarChar).Value = departmentTextBox.Text;
// cmd.Parameters.Add(new SqlParameter("@ProfilePic", SqlDbType.Image));
MemoryStream MemStream = new MemoryStream();
byte[] DataPic_Update = null;
this.profilePicPictureBox.Image.Save(MemStream, ImageFormat.Png);
DataPic_Update = MemStream.GetBuffer();
MemStream.Read(DataPic_Update, 0, DataPic_Update.Length);
// image content
SqlParameter photo = new SqlParameter("@profilePic", SqlDbType.Image);
photo.Value = DataPic_Update;
cmd.Parameters.Add(photo);
int temp = 0;
temp = cmd.ExecuteNonQuery();
if (temp > 0)
{
connect.Close();
MessageBox.Show("Your info updated successfully... ");//, MessageBox.Show.Information, "Record Updated");
}
else
{
connect.Close();
MessageBox.Show("Your info modification failed ");//, MsgBoxStyle.Critical, "Modificatio Failed");
return;
}
//cmd.ExecuteNonQuery();
//MessageBox.Show("Updated Successfully!");
//connect.Close();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
|
|
|
|
|
What value is returned in temp?
Do you have the stored procedure code?
A message that something didn't work is not very helpful - you need to debug to find any return messages or error codes
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
1. Your first 3 parameters are defined as integer but you are passing a string.
2. Why are you converting a Textbox.Text to string? e.g Textbox.Text.ToString()
Have you tried to run the stored procedure directly on the server with some dummy values? if so did it work sucessfully or did it throw an error?
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
The cmd.ExecuteNonQuery should return the number of rows affected by the command on UPDATE statement in this case if you are getting this message "Your info modification failed " means that for some reason the SP is not updating or is passing null values in the parameters could ya please share the content of the SP that way we can give a more precise solution.
|
|
|
|
|
when i connect Access database its connect properly but the data is saved on bin folder data base, and recored are not inserted n main database please help any one
my app.config file is
<configuration>
<configsections>
<connectionstrings>
<add name="EQMS.Properties.Settings.EQMSConnectionString" connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\EQMS.mdb;Persist Security Info=True;Jet OLEDB:Database Password=ashaashwin"
="" providername="System.Data.OleDb">
<appsettings>
<add key="con" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=EQMS.mdb;Jet OLEDB:Database Password=ashaashwin;">
|
|
|
|
|
You might want to format your question a bit better - some of that got lost when displayed.
|
|
|
|
|
you need to explain the problem more clearly!
at a guess I would suggest that you look at the connection objects / strings that you are using to save the data at, I would use that as a starting point to solving this.
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
what type of error you getting.
|
|
|
|
|
I wanna to convert this string :
"
if("2" == "2" && "10" >="9")
return "true";
else
return "false";
if the above string contains any of these :
>= , <= , > , <
Replace the part of string ( "10" >= "9") TO :
( 10 >= 9)
So the final string would be :
if("2" == "2" && 10 >=9 )
return "true";
else
return "false";
How is it possible.
note : the string may contain lot of these math operation in it .
|
|
|
|
|
Create a token parser. So, start at the beginning of the string and work your way over it looking for the strings you're interested in. You could do this with a regex and some fancy parsing, but I would keep it simple if I were you. There are some shortcuts that you can take, such as only needing to store the right hand side of the token if the operators are the ones you are interested in. I would also look to split my string up into an array of smaller strings using the && and || operators. Then, I would perform my search on the smaller arrays.
|
|
|
|
|
If the text will contain proper spacing..You may use 'Contains ()'.
<pre>
string strMyText = "There is some text like 10 > 9";
if(strMyText .Contains("10 >9"))
{
strMyText = "I got it"
}</pre>
|
|
|
|
|
Okay, two things:
1. The OP does not get notified of answers to someone other than them.
2. Your solution does not even begin to address what the OP has asked for. Take a look at his question again and ask yourself if you have really answered it.
|
|
|
|
|
|
I doubt anyone (who knows what goes on with Crocko) is going to click that link.
Find a better place to host your image, such as Flickr.
|
|
|
|
|
|
"This photo is currently unavailable".
|
|
|
|
|
Well, I could down your figure. Any other address?
|
|
|
|