PDA

View Full Version : سوال: آپدیت دیتابیس کلاینت بعد از تغییرات در دیتابیس توسط برنامه نویس



hosseines
دوشنبه 17 شهریور 1393, 22:36 عصر
سلام
من در حال نوشتن یک برنامه هستم که همزمان یک کاربر در حال استفاده از این برنامه می باشد.
سوالی که داشتم اینه که من دائماً در حال تغییر دیتابیس و برنامه هستم برای اعمال تغییرات در دیتابیس کاربر باید چیکار کنم..؟

aminmousavi
سه شنبه 18 شهریور 1393, 05:16 صبح
سلام دوست عزیز .
فکر میکنم یک تاپیک هم ایجاد میکردید کافی بود .
برای اینکار میتونین یک فایل txt ایجاد کنید و همراه فایل exe اتون برای آپدیت به کاربر بدید ، توی فایل txt شما تغییراتی که برای دیتابیس نیاز هست رو به صورت کوئری درونش نوشتید .
توی فایل exe شما فایل txt رو باز میکنید و کوئری ها رو اجرا میکنید .

اگر امنیت هم براتون مهم هست میتونید کوئری های فایل txt رو کد کنید که کاربر متوجه نشه .

hosseines
سه شنبه 18 شهریور 1393, 13:56 عصر
سلام ممنون. شرمنده اشتباه شد در تاپیک. خوب باید چجوری کوئری داخل txt را اجرا کنم...؟

drsina
سه شنبه 18 شهریور 1393, 14:00 عصر
سلام دوست عزیز .
فکر میکنم یک تاپیک هم ایجاد میکردید کافی بود .
برای اینکار میتونین یک فایل txt ایجاد کنید و همراه فایل exe اتون برای آپدیت به کاربر بدید ، توی فایل txt شما تغییراتی که برای دیتابیس نیاز هست رو به صورت کوئری درونش نوشتید .
توی فایل exe شما فایل txt رو باز میکنید و کوئری ها رو اجرا میکنید .

اگر امنیت هم براتون مهم هست میتونید کوئری های فایل txt رو کد کنید که کاربر متوجه نشه .

خب داداش گلم اگه کوئری کد کنید که بازم برنامت اینجکشن داره !!! این چه امنیتیه ؟!

aminmousavi
سه شنبه 18 شهریور 1393, 14:06 عصر
با این کد میتوتین کوئری اجرا کنین :



SqlConnection Connection = new SqlConnection("YOUR CONNCETION STRING");
DataSet ds = new DataSet();
SqlDataAdapter DA = new SqlDataAdapter();
DA.SelectCommand = new SqlCommand();
DA.SelectCommand.Connection = Connection;
DA.SelectCommand.CommandText = "CREATE TABLE Persons(PersonID int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255));";
DA.Fill(ds);

aminmousavi
سه شنبه 18 شهریور 1393, 14:24 عصر
خب داداش گلم اگه کوئری کد کنید که بازم برنامت اینجکشن داره !!! این چه امنیتیه ؟!
دوست عزیز برنامه در حال توسعه و نوشتن هست ! یک کاربر بیشتر نداره . کارفرما برنامه خودش رو اینجکشن که نمیکنه !
بعد از اتمام برنامه در آخرین باری که فایل exe رو جایگزین میکنه این قابلیت خواندن کوئری از txt رو برمیداره .

Yanehsar
سه شنبه 18 شهریور 1393, 18:17 عصر
با این کد میتوتین کوئری اجرا کنین :



SqlConnection Connection = new SqlConnection("YOUR CONNCETION STRING");
DataSet ds = new DataSet();
SqlDataAdapter DA = new SqlDataAdapter();
DA.SelectCommand = new SqlCommand();
DA.SelectCommand.Connection = Connection;
DA.SelectCommand.CommandText = "CREATE TABLE Persons(PersonID int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255));";
DA.Fill(ds);



سلام اگر درست متوجه باشم این کدی که شما نوشتیت داره یه جدول ایجاد می کنه !!!درسته ؟
چطوری باید فایل تکس رو اجرا کنن ؟

aminmousavi
سه شنبه 18 شهریور 1393, 18:42 عصر
بله .
منظوره بنده این نبود که فایل متنی رو اجرا کنن !‌
عرض کردم از برنامه فایل متنی رو باز کنند و کوئری رو اجرا کنند .
یعنی کوئری که بنده الان درون کامند تکست قرار دادم رو از فایل متنی میخونن و با کد بالا کوئری که در فایل متنی هست رو اجرا میکنن

سادتر بخوام بگم مقدار فایل متنی برابر با :‌

"CREATE TABLE Persons(PersonID int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255));"

میباشد و درون برنامه خط به خط فایل متنی خوانده میشه و برای هر خط کدی که قرار داده بودن اجرا میشه با این تفاوت که مقدار کامند تکست هر برار برابر با یکی از سطر های فایل متنی میشه

hosseines
چهارشنبه 19 شهریور 1393, 09:13 صبح
ببخشید می تونید یه نمونه مثال برام بفرستید.
در ضمن همه تغییرات را می توان در یک فایل txt قرار داد..؟