What's new

C# C# and mysql gods pahelp naman po

jonbinsdesu

Honorary Poster
Joined
May 23, 2018
Posts
505
Reaction
111
Points
208
Age
28
so meron akong form eto yung form

gusto ko po sanang lagyan ng validation sa pagsave na di pwede ang duplicate record pero ibebase ko sana sa firstname, lastname, middlename, contactno, at email

C#:
con.Close();
                        con.Open();
                       
                   command = new MySqlCommand("SELECT * FROM participants_tbl WHERE email= '" + txtFName.Text.Trim() + "'AND lastname='"+ txtLName.Text.Trim() + "'AND middlename='"+ txtMName.Text.Trim() + "'AND email='" + txtEmail.Text.Trim() + "'", con);
                        reader = command.ExecuteReader();
                        int x = 0;
 con);
                        reader = command.ExecuteReader();
                        int x = 0;
                        while (reader.Read())
                        {
                            x++;
                        }
                        con.Close();
                        if (x >= 1)
                        {
                            MessageBox.Show("Participant already exists.", "Save", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            txtFName.Focus();
                        }

pero di talaga gumagana eh


1634715671483.png
 

Attachments

kung gagamit ng OR
pag may nakitang kapareho ng Lastname pero iba yung FirstName, di sya mag s.save..
so better stick with AND.

also, try mo muna ang firstname lang at lastname i check mo para mas madali mong malaman kung alin ang problem sa code.


please also elaborate na kung anung di gumagana? ang verification? pag save?
 
Last edited:
kung gagamit ng OR
pag may nakitang kapareho ng Lastname pero iba yung FirstName, di sya mag s.save..
so better stick with AND.

also, try mo muna ang firstname lang at lastname i check mo para mas madali mong malaman kung alin ang problem sa code.


please also elaborate na kung anung di gumagana? ang verification? pag save?
yung sa part po na di gumagana is yung query na AND po ang ginamit ko nasasave niya kahit po magkapareho yung firstname and lastname
 
kung gagamit ng OR
pag may nakitang kapareho ng Lastname pero iba yung FirstName, di sya mag s.save..
so better stick with AND.

also, try mo muna ang firstname lang at lastname i check mo para mas madali mong malaman kung alin ang problem sa code.


please also elaborate na kung anung di gumagana? ang verification? pag save?

Followed your advice po it's working as of now while tinatry ko siyang isave na same ang firstname lastname and middlename pero with the same number but different email ang gusto ko sanang mangyari is hindi siya masesave kapag same ang number pero ibang email na gamit



C#:
command = new MySqlCommand("SELECT * FROM participants_tbl WHERE firstname ='"+ txtFName.Text.Trim() +"'AND lastname='"+ txtLName.Text.Trim()+ "'AND middlename='" +txtMName.Text.Trim() + "'AND email='" + txtEmail.Text.Trim() + "'AND contact_no='" + txtContact.Text.Trim() + "'", con);


1634784448626.png
 

Attachments

Followed your advice po it's working as of now while tinatry ko siyang isave na same ang firstname lastname and middlename pero with the same number but different email ang gusto ko sanang mangyari is hindi siya masesave kapag same ang number pero ibang email na gamit



C#:
command = new MySqlCommand("SELECT * FROM participants_tbl WHERE firstname ='"+ txtFName.Text.Trim() +"'AND lastname='"+ txtLName.Text.Trim()+ "'AND middlename='" +txtMName.Text.Trim() + "'AND email='" + txtEmail.Text.Trim() + "'AND contact_no='" + txtContact.Text.Trim() + "'", con);


View attachment 1677454




nalilito ako.. hahahaha

ma-s.save sya as long as hindi magkapareho yung contact number kahit na same yung email, and name?

if ganun, yung contact number mo lang ang ilagay mo sa condition..

tanggalin mo yung mga condition na di mo kaylangan..


tsaka, try to isolate the problem, mas madali mo kasi sya ma solve pag ganun.
 
use paramaters lods mag proproduce ito ng error kung gagamit ka ng single qoute/double qoute sa data entry.

I know lods na ayaw mo mag duplicate entry pero try mo rin e consider na may mga tao na pareho yung information for instance example first at last name. pero kung gusto mo talaga na walang magkapareha ng information makes use of AND sa SQL at remove mo yung .trim();
 
kung ako, ganito gagawin ko dyan para mas madali

gagawa ako ng stored procedure which checks if data existed so parang

in sql:

IF NOT EXISTS( Select 1 from tbl where fname = 'fname')
begin
-- insert query here
end

tapos sa backend is gagamit ako ng ExecuteNonQuery to check the affected rows from insert

// connection code her
int ret = cmd.ExecuteNonQuery();

if(ret == 0)
{
// alert for existing account.
}

this way, di mo na kailangan bumalik sa SQL para mag insert


also you can easily check if tama ba yung query mo gamit ang stored procedure
 
Back
Top