PDA

View Full Version : سوال: نیاز به راهنمایی برای تصحیح کد c#



veniz2008
سه شنبه 05 مرداد 1389, 17:47 عصر
سلام،من یک جدول " درس" ساختم و کد درس رو به عنوان کلید گذاشتم،و از کد زیر برای تشخیص اینکه درس رو 2 بار ثبت نکنم استفاده میکنم،ولی مشکل اینجاست که همیشه قسمت دوم کدهام اجرا میشه و پیغام خطایی مبنی بر اینکه کلید نمیتونه 2 بار ثبت بشه صادر میشه و قسمت اول هیچوقت برقرار نمیشه،لطفا کد رو با ذکر دلیلش تصحیح کنید،تشکر.
SqlConnection conn = new SqlConnection("Data Source = .\\wincc;Initial Catalog=US_DB;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM Dars";
SqlDataAdapter Adapter = new SqlDataAdapter();
Adapter.SelectCommand = new SqlCommand();
Adapter.SelectCommand.Connection = conn;
Adapter.SelectCommand.CommandText = "SELECT * FROM Dars";
DataTable dt = new DataTable();
Adapter.Fill(dt);
string s1;
foreach (DataRow dr in dt.Rows)
{
s1 = ((string)dr["Code"].ToString()).TrimEnd();

if (TextBox1.Text == s1)
{

Label12.Text = "این مشخصه قبلا اخذ شده است";

}
else
{
strcon = ("Data Source = .\\wincc;Initial Catalog=US_DB;Integrated Security=True");
strsql = "SELECT * From Dars";
con = new SqlConnection(strcon);
con.Open();
da = new SqlDataAdapter(strsql, con);
da.Fill(ds, "Dars");
newRow = ds.Tables["Dars"].NewRow();
newRow["Code"] = TextBox1.Text;
newRow["Title"] = TextBox2.Text;

ACorvinus
سه شنبه 05 مرداد 1389, 18:39 عصر
سلام.

لطفا اول کداتونو بذارین داخل تگ Code یا تگ Source تا اول کدهاتون یه رنگ و بویی بگیرن بعدا ببینیم چی به چیه؟!!!

اینجوری خودتونم نمیتونین به کسی کمک کنین!!!

Editali
سه شنبه 05 مرداد 1389, 19:32 عصر
اینجوری اصلا اصولی نیست و سرعت برنامه میاد پایین، البته وقتی که رکوردات زیاد باشه این موضوع محسوس تره.

از یه DataSet استفاده کن تا درگیر مسائل سطح پایین نشی

با دستور زیر Insert کن:

dataset1.TABLENAME.AddTABLENAMERow(field1, field2);

اگر تکراری باشه خودش یه Exception میفرسته.

میتونی مستقیماً هم از کنترلهات دیتا وارد کنی.