PDA

View Full Version : سوال: تغییرات در ساختار و اطلاعات بانک



User SA
شنبه 28 شهریور 1394, 18:46 عصر
درود بر دوستان
من دو تا سوال دارم
1- در پروژه نمونه ای که ضمیمه کردم، یک بانک اطلاعات هست.
من اطلاعات رو با استفاده از textbox a ذخیره میکنم؛ امام بعدش دوتا مشکل دارم:
1- میخوام با کلیک روی grid ، مقادیر سطری که انتخاب کردم به textbox های e مقابل بره و ویرایششون کنم.
2-با استفاده از کلید delete سطری که انتخاب شده حذف بشه.

سوال دوم:
2- از طریق کد نویسی امکان داره که table or field ها در بانک اطلاعات، حذف یا ویرایش یا تعریف بشن؟

پیشاپیش از راهنمایی شما صمیمانه سپاسگذارم:قلب:

isaac23
یک شنبه 29 شهریور 1394, 09:00 صبح
ویرایش

e1.Text = ""
e2.Text = ""
e3.Text = ""
e4.Text = ""

e1.Text = ADB.Recordset.Fields!code
e2.Text = ADB.Recordset.Fields!Name
e3.Text = ADB.Recordset.Fields!famil
e4.Text = ADB.Recordset.Fields!mobile

واسه اپدیت بعد از ویرایش
ADB.Recordset.Fields!code = a1.Text
ADB.Recordset.Fields!Name = a2.Text
ADB.Recordset.Fields!famil = a3.Text
ADB.Recordset.Fields!mobile = a4.Text
ADB.Recordset.Update
ADB.Refresh


واسه حذف

If ADB.Recordset.RecordCount > 0 Then
Dim msgdel As VbMsgBoxResult
msgdel = MsgBox("ÇíÇ ˜ ÇäÊÎÇÈ ÔÏå ÇÒ áíÓÊ ÍÐÝ ÔæÏ¿", vbQuestion + vbYesNo, "åÔÏÇÑ")
If msgdel = vbYes Then
VSFlexGrid1.RemoveItem (VSFlexGrid1.RowSel)
VSFlexGrid1.Refresh
End If
End If

در ضمن خاصیت DataMode دیتا گرد رو روی 1 تنظیم کن

User SA
یک شنبه 29 شهریور 1394, 15:26 عصر
تشکر از راهنمایی دوست عزیزم
برای سوال دوم هم راهی هست؟

User SA
دوشنبه 30 شهریور 1394, 09:32 صبح
صبح همگی بخیر
من سوالم رو در قسمت دیگه ای پرسیده بودم که یکی از دوستان منتقل کردن اینجا
ظاهرا متخصصین این سوال اینجان
من دوتا سوال پرسیده بودم که سوال اولم رو یکی از دوستان جواب داده اما باگ داره نمیدونم چرا!
اون فیلدی که برای ویرایش انتخاب میشه، بعد از انجام ویرایش و کلید ذخیره، یکی دیگه از فیلدهارو تغییر میده
حالا نمیدونم این مشکل از این کدی هست که دوستمون در پست شماره 2 راهنمایی کردن یا از قسمت دیگه ای از برنامه هست.

و اما سوال دومم که همچنان بی پاسخ مونده اینه که آیا امکان داره که از طریق کد نویسی ما بتونیم تغییرات زیر رو در بانک اکسس یا sql انجام بدیم:

ایجاد جدول جدید
ویرایش جدول
حذف جدول
ایجاد فیلد جدید
ویرایش فیلد
حذف فیلد

روز خوبی داشته باشین

vbhamed
دوشنبه 30 شهریور 1394, 10:09 صبح
سلام

دستورات SQL شامل چند دسته زیر است :

زبان DDL یا Data Definition Language : برای تعریف و تغییر ساختار پایگاه داده
زبان DML یا Data Manipulation Language : برای مدیریت داده های پایگاه داده شامل واکشی، درج و حذف و ...
زبان DCL یا Data Control Language : کنترل داده ها و کاربران
زبان TCL یا Transaction Control : کنترل عملیاتی که توسط زبان DML انجام می‌شود و گروهبندی عملیات، عقبگرد و ...

------------------------------------------------------------------------------------

DDL یا Data Definition Language : برای تعریف و تغییر ساختار پایگاه داده که شامل دستورات زیر است :


CREATE - to create objects in the database
ALTER - alters the structure of the database
DROP - delete objects from the database
TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
COMMENT - add comments to the data dictionary
RENAME - rename an object


DML یا Data Manipulation Language : برای مدیریت داده های پایگاه داده شامل واکشی، درج و حذف و ... که شامل دستورات زیر است :


SELECT - retrieve data from the a database
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - deletes all records from a table, the space for the records remain
MERGE - UPSERT operation (insert or update)
CALL - call a PL/SQL or Java subprogram
EXPLAIN PLAN - explain access path to data
LOCK TABLE - control concurrency


DCL یا Data Control Language : کنترل داده ها و کاربران که شامل دستورات زیر است :


GRANT - gives user's access privileges to database
REVOKE - withdraw access privileges given with the GRANT command


TCL یا Transaction Control : کنترل عملیاتی که توسط زبان DML انجام می‌شود و گروهبندی عملیات، عقبگرد و ... که شامل دستورات زیر است :


COMMIT - save work done
SAVEPOINT - identify a point in a transaction to which you can later roll back
ROLLBACK - restore database to original since the last COMMIT
SET TRANSACTION - Change transaction options like isolation level and what rollback segment to use

منبع :
http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_co mmands

برای اجرای دستورات می‌توانید از کدی مشابه زیر استفاده نمایید
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset, dbPath$

dbPath = Replace(App.Path & "\test.mdb", "\\", "\")

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath & ";Persist Security Info=False"
cnn.Open
cnn.Execute "INSERT INTO Persons (FirstName,LastName) VALUES ('Lars','Monsen')"
cnn.Close

برای راهنمایی در مورد دستورات می‌توانید از سایت بسیار خوب زیر کمک بگیرید
http://www.w3schools.com/sql/sql_insert.asp

User SA
دوشنبه 30 شهریور 1394, 10:25 صبح
vbhamed عزیز از راهنمایی شما صمیمانه سپاسگذارم

توضیحات شما برای access و sql یکسان است؟

vbhamed
سه شنبه 31 شهریور 1394, 05:32 صبح
سلام

بله یکسانه ولی با Sql Server سازگاری بیشتری داره چون ممکنه اکسس از بعضی موارد پشتیبانی نکنه
البته برای هدفی که شما دارید همه موارد پشتیبانی میشه