2016-04-08 9 views
-4
SqlConnection sc = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\6th sem\DNT\tutorials\application\WindowsFormsApplication2\WindowsFormsApplication2\Login.mdf;Integrated Security=True"); 
sc.Open(); 

SqlCommand cmd = new SqlCommand(); 
cmd.Connection = sc; 

//cmd.CommandText = "SELECT count(*) FROM dictionary WHERE [email protected] AND [email protected]"; 
cmd.Parameters.AddWithValue("@Word", textBox_word.Text); 
cmd.Parameters.AddWithValue("@Unique", frm.textUserName); 
cmd.CommandText = "SELECT COUNT(*) FROM dictionary WHERE [email protected] AND [email protected]"; 

int z = (int)cmd.ExecuteScalar(); 
MessageBox.Show(z.ToString()); 

if (z >= 1) 
{ 
    MessageBox.Show("word already entered in your id"); 
} 
else 
{ 
} 

Mein Code geht immer in anderen Teil und Ausgang der obigen Abfrage ist immer 0 !!!Kann ich count (*) und AND gleichzeitig in select sql query verwenden?

+0

Was sollte der korrekte Rückgabewert sein? –

+0

Was RDBMS ist das? NM ... [MSSQLLocalDB] 'Dictionary' ist ein reserviertes Wort, das maskiert werden muss. https://msdn.microsoft.com/en-us/library/ms189822.aspx Wrap-Wörterbuch in [] – xQbert

+0

Wörterbuch ist mein Tabellenname in Visual Studio lokalen DATENBANK – yjp

Antwort

0

Sie sollten wahrscheinlich Profiler verwenden, um zu sehen, was Ihre Parameter übergeben wird, aber ich bin sehr misstrauisch dieser Linie:

cmd.Parameters.AddWithValue("@Unique", frm.textUserName); 

Sie die .text Eigenschaft des textUserName Objekt nicht zugreifen möchten, So wie Sie es mit dem Parameter @Word gemacht haben?

+0

eigentlich ist der Wert von form1, die ich hast du sed in form 3 mit form1 eigenschaft so keine notwendigkeit, sich um diese linie zu kümmern, ist absolut fein und übergabe nur text wert für sicher – yjp

+1

So verwenden sie profiler zu sehen, was SQL von ihrer anwendung ausgeführt wird, und zeigen uns dann, welche daten sie sie haben würde erwarten zurückgegeben zu werden, ist es aber nicht. Es gibt keinen Fehler in Ihrem Code. Daher sind die Parameter, die Sie übergeben, oder Ihre Daten einfach nicht das, was Sie denken. –

-1

Vorschlag 1: -
Bitte speichern Sie die Werte von textBox_word.Text und frm.textUserName in anderen Werten und dann hier setzen.

cmd.Parameters.AddWithValue ("@ Word", value1); cmd.Parameters.AddWithValue ("@ Unique", value2);

Wenn noch irgendein Problem dann
Vorschlag 2: -

Bitte debuggen den Code und überprüfen, was genau Werte für Wert1 sind comming und Wert2

0

endlich eine Antwort gefunden ... es war Problem mit SQL Datenbank Column Name Benutzer, den sie nicht zulassen, ich weiß nicht, warum, aber das war es in meinem Fall. also änderte ich den column Namen in user1 und es funktioniert richtig ...