mahan206
دوشنبه 29 دی 1393, 12:06 عصر
سلام دوستان من یه سیستم نظر سنجی درست کردم حالا میخوام جوری درستش کنم که هر ipفقط یک بار بتونه شرکت کنه و این کد رو نوشتم. public void AddPolls(int q,int o ,string ipp)
{
SqlConnection conip = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ConnectionString);
SqlCommand cmdip = new SqlCommand("SELECT COUNT(*) FROM Polls_Votes WHERE (QuestionID = " + q + ") AND (UserName = " + ipp +")", conip);
cmdip.Connection = conip;
conip.Open();
SqlDataReader drip = cmdip.ExecuteReader();
if (drip.Read()) {
lasteror = "فقط یکبار میتوانید شرکت کنید";
}
else
{
try
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("INSERT INTO [Polls_Votes] ([QuestionID], [OptionID], [UserName]) VALUES (@QuestionID, @OptionID,@UserName)", con);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.Parameters.Add("QuestionID", SqlDbType.Int).Value = q;
cmd.Parameters.Add("OptionID", SqlDbType.Int).Value = o;
cmd.Parameters.Add("UserName", SqlDbType.NVarChar).Value = ipp;
cmd.ExecuteNonQuery();
con.Close();
lasteror = "رای شما ثبت شد";
}
catch
{
lasteror = "Eroor Post";
}
}
conip.Close();
}
تو فیلد usernameبانکمم ippکه همون ip کسی که رای میده رو ذخیره کردم.
حالا من دستور سلکت رو چطور بنویسم که این ارور نیاد و جواب بده ای پی منم مثلا 192.168.145.30 این ارور رو میده
Incorrect syntax near '145'.
{
SqlConnection conip = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ConnectionString);
SqlCommand cmdip = new SqlCommand("SELECT COUNT(*) FROM Polls_Votes WHERE (QuestionID = " + q + ") AND (UserName = " + ipp +")", conip);
cmdip.Connection = conip;
conip.Open();
SqlDataReader drip = cmdip.ExecuteReader();
if (drip.Read()) {
lasteror = "فقط یکبار میتوانید شرکت کنید";
}
else
{
try
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("INSERT INTO [Polls_Votes] ([QuestionID], [OptionID], [UserName]) VALUES (@QuestionID, @OptionID,@UserName)", con);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.Parameters.Add("QuestionID", SqlDbType.Int).Value = q;
cmd.Parameters.Add("OptionID", SqlDbType.Int).Value = o;
cmd.Parameters.Add("UserName", SqlDbType.NVarChar).Value = ipp;
cmd.ExecuteNonQuery();
con.Close();
lasteror = "رای شما ثبت شد";
}
catch
{
lasteror = "Eroor Post";
}
}
conip.Close();
}
تو فیلد usernameبانکمم ippکه همون ip کسی که رای میده رو ذخیره کردم.
حالا من دستور سلکت رو چطور بنویسم که این ارور نیاد و جواب بده ای پی منم مثلا 192.168.145.30 این ارور رو میده
Incorrect syntax near '145'.