سلام
بظاهر برادر و دوستمان علی آقا کمی مشغله پول شمردن پیدا کردند :31:
نقل قول:
قتی که یه مقدار جدید میخوام به این جدول اضافه کنم چک کنه ببینه این نامی که من وارد کردم قبلا ثبت شده یا نه و اگه ثبت شده پیغام بده
هم میتوانید خودتان دستی بررسی کنید و از عدم تکراری شدن ممانعت کنید و هم میتوانید فیلد مورد نظر را در دیتابیس unique معرفی کنید تا خود دیتابیس این مورد را تضمین کند.
البته من دومی را پیشنهاد میکنم، بهتر است این موارد را به خود دیتابیس واگذار کنید، در این شرایط در شبکه و همزمانی اتصال کاربران هم مشکل نخواهید داشت.
نقل قول:
حالا میخوام توی این جدولی که گفتم جست و جو کنم به این صورت که کد رو وارد میکنم و مقدار نام اون کد رو توی یک لیبل قرار بدم.تا حدودی این کاری انجام دادم به کمک دیتاگرید ولی میخوام وقتی که عمل جست و جو صورت گرفت و اون کد توی جودل نبود پیغام خطا بده
نقل قول:
اینکه یه دکمه بزارم و با کلیک کردن روی اون تمام اطلاعات ثبت شده توی این جدول حذف بشه
روش ارتباط با دیتابیستان چیست؟ DataSet یا Entity و...؟
در همه این موارد شما امکان تعریف یک Query را دارید که دستور SQL ای را اجرا و نتیجه را بازپس دهد.
در هر دو مورد سوالات فوق شما میتوانید SQL ای تهیه و اجرا کنید.
البته میتوانید مستقیماً با connection و command هم خودتان SQL ها را اجرا کنیدف مثلاً:
کد:
//C#
public static string GetName(int code)
{
const string SQL = "SELECT [fieldname] FROM [tablename] WHERE [fieldcode]=@fieldcode;";
using (var dbCon = new System.Data.SqlClient.SqlConnection("---CONNECTIONSTRING---"))
using (var dbCom = new System.Data.SqlClient.SqlCommand(SQL, dbCon))
{
dbCom.Parameters.AddWithValue("@fieldcode", code);
dbCon.Open();
return dbCom.ExecuteScalar() as string;
}
}
public static void ClearTable()
{
//const string SQL = "DELETE FROM [tablename];";
const string SQL = "TRUNCATE TABLE [tablename];";
using (var dbCon = new System.Data.SqlClient.SqlConnection("---CONNECTIONSTRING---"))
using (var dbCom = new System.Data.SqlClient.SqlCommand(SQL, dbCon))
{
dbCon.Open();
dbCom.ExecuteNonQuery();
}
}
'VB
Public Shared Function GetName(ByVal code As Integer) As String
Const SQL As String = "SELECT [fieldname] FROM [tablename] WHERE [fieldcode]=@fieldcode;"
Using _
dbCon = New System.Data.SqlClient.SqlConnection("---CONNECTIONSTRING---"), _
dbCom = New System.Data.SqlClient.SqlCommand(SQL, dbCon)
dbCom.Parameters.AddWithValue("@fieldcode", code)
dbCon.Open()
Return TryCast(dbCom.ExecuteScalar(), String)
End Using
End Function
Public Shared Sub ClearTable()
'Const SQL As String = "DELETE FROM [tablename];"
Const SQL As String = "TRUNCATE TABLE [tablename];"
Using _
dbCon = New System.Data.SqlClient.SqlConnection("---CONNECTIONSTRING---"), _
dbCom = New System.Data.SqlClient.SqlCommand(SQL, dbCon)
dbCon.Open()
dbCom.ExecuteNonQuery()
End Using
End Sub
نقل قول:
برای ثبت توی یه جدول که یه فیلدش کد هست میخوام کاری کنم که به صورت خودکار شماره بزنه براش
این مورد را هم بهتر است به autonumber خود دیتابیس محول کنید، روش تابع MAX تان خیلی جالب توجه نیست و در شبکه میتواند مکرراً باعث بروز خطا شود.
نقل قول:
وقتی که میخوام یه یلد رو حذف کنم به طور طبیعی شماره ها به هم میریزه . راه حل شما چیه ؟
خوب چه مشکلی دارد؟ بهتر است کمی دید صنعتی داشته باشید و دیدتان را اصلاح کنید!
نقل قول:
فرض کنید ما یه جدول حضور داریم . من میخوام اسم 5 نفری که بیشترین حضور و کمترین حضور رو دارند رو به دست بیارم . حالا میتوشه اونا رو توی دیتا گرید ریخت.
و همین طور آخرین نفری که حضور زده.
فرض کنید که توی این جدول تاریخ هم وجود داره من میخوام روزی که بیشترین حضور توش هست رو به دست بیارم.
جواب این سوال مستقیم به ساختار جداول و دیتابیستان برمیگردد...
موفق باشید.