PDA

View Full Version : سوال: ذخیره داده بدون استفاده از پایگاه داده !



rezam44
سه شنبه 11 تیر 1392, 11:43 صبح
سلام دوستان
سوال من اینه که آیا راهی وجود داره که بدون پایگاه داده هم بشه مقادیری که از کاربر می گیریم رو بمدت دلخواه ذخیره و نمایش بدیم؟(مثل پایگاه داده)

hamid_hr
سه شنبه 11 تیر 1392, 11:50 صبح
اره فايل Xml

esafb52
سه شنبه 11 تیر 1392, 11:51 صبح
منظورت از پایگاه داده چیه ؟sql or access xml
بله از فایل

rezam44
سه شنبه 11 تیر 1392, 11:56 صبح
اره فايل Xml


میشه نحوه کار کردن با xml رو بگین...
تا حالا کار نکردم
ممنون میشم:لبخندساده:

rezam44
سه شنبه 11 تیر 1392, 11:57 صبح
منظورت از پایگاه داده چیه ؟sql or access xml
بله از فایل


منظورم از پایگاه داده ... همه ی برنامه هایی هستن که پایگاه داده ایجاد می کنن.. اعم از sql و access و ...

hamid_hr
سه شنبه 11 تیر 1392, 12:04 عصر
http://barnamenevis.org/showthread.php?356665-%D8%A7%D8%B3%D8%AA%D8%AE%D8%B1%D8%A7%D8%AC-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B2-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-XML&highlight=%D9%83%D8%A7%D8%B1+%D8%A8%D8%A7+Xml

http://barnamenevis.org/showthread.php?192152-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D9%85%DB%8C-%D8%AA%D9%88%D8%A7%D9%86-%D8%AF%D8%B1-c-%D8%A7%D8%B2-%D9%81%D8%A7%DB%8C%D9%84-xml-%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D8%9F&highlight=%D9%83%D8%A7%D8%B1+%D8%A8%D8%A7+Xml

rezam44
سه شنبه 11 تیر 1392, 12:14 عصر
http://barnamenevis.org/showthread.php?356665-%D8%A7%D8%B3%D8%AA%D8%AE%D8%B1%D8%A7%D8%AC-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B2-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-XML&highlight=%D9%83%D8%A7%D8%B1+%D8%A8%D8%A7+Xml

http://barnamenevis.org/showthread.php?192152-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D9%85%DB%8C-%D8%AA%D9%88%D8%A7%D9%86-%D8%AF%D8%B1-c-%D8%A7%D8%B2-%D9%81%D8%A7%DB%8C%D9%84-xml-%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D8%9F&highlight=%D9%83%D8%A7%D8%B1+%D8%A8%D8%A7+Xml


خود فایل xml رو از add new item ایجاد میکنیم دیگه آره؟

jblaox
سه شنبه 11 تیر 1392, 13:42 عصر
از یک فایل txt معمولی هم میتوانی استفاده کنی ، ویدیوی اموزش فارسی ان هم هست فکر میکنم برای اقای کیانیان بود
یک دفترچه تلفن با این متد درسته کرده بودند و ......

هر داده را مثلا با "," از هم جدا کن و ...
هر خط هم معرف یک چیزی باشه و ....

از XML خیلی ساده تر و راحت تر است ، البته بستگی داره چی کار بخواهی بکنی ...

CsharpNevisi
سه شنبه 11 تیر 1392, 13:48 عصر
سلام دوست عزیز ... !!
میتونی به وسیله notepad هم یه بانک با پسوند دلخواه خودت بسازی (میتونی حتی تو ریجستری پسوند خوتو فقط برای برنامه خودت ثبت کنی مثلا data.پسوندت .... -->-->data.mohsen) ... !!
با دو تا ارایه و دستور splite میتونی داده هارو بخونی تغییر بدی ... ذخیره کنی و... همه کار .... !!!

rezam44
سه شنبه 11 تیر 1392, 15:21 عصر
سلام دوست عزیز ... !!
میتونی به وسیله notepad هم یه بانک با پسوند دلخواه خودت بسازی (میتونی حتی تو ریجستری پسوند خوتو فقط برای برنامه خودت ثبت کنی مثلا data.پسوندت .... -->-->data.mohsen) ... !!
با دو تا ارایه و دستور splite میتونی داده هارو بخونی تغییر بدی ... ذخیره کنی و... همه کار .... !!!


میشه یه نمونه آپلود کنی همینجا
ممنون میشم:لبخندساده:

CsharpNevisi
سه شنبه 11 تیر 1392, 16:04 عصر
صبر کن برنامه رو بنویسم و واسط اپلود کنم

CsharpNevisi
سه شنبه 11 تیر 1392, 16:24 عصر
بفرما ..... ... فقط اولش بانکی وجود نداره ولی اولین نفری که ثبت شه بانکم درست میشه .. !!
http://s3.picofile.com/file/7827923652/mohsen_fathi.rar.html
البته این فایلو میشه با notpad باز کرد و تغییر داد که میتونی با استفاده از خاصیت های فایل در C# بانکو فوق مخفی کنی یا ریدانلی کنی و موقع استفاده برنامه تغییر بدی یا اصلا بانکو بفرستی تو یه پوشه سیستمی که کسی کاری باهاش نداره .. مثل : C:\Windows\IME\IMESC\DICTS و مخفیشم کنی برای اطمینان .. !!

rezam44
سه شنبه 11 تیر 1392, 16:53 عصر
بفرما ..... ... فقط اولش بانکی وجود نداره ولی اولین نفری که ثبت شه بانکم درست میشه .. !!
http://s3.picofile.com/file/7827923652/mohsen_fathi.rar.html
البته این فایلو میشه با notpad باز کرد و تغییر داد که میتونی با استفاده از خاصیت های فایل در C#‎ بانکو فوق مخفی کنی یا ریدانلی کنی و موقع استفاده برنامه تغییر بدی یا اصلا بانکو بفرستی تو یه پوشه سیستمی که کسی کاری باهاش نداره .. مثل : C:\Windows\IME\IMESC\DICTS و مخفیشم کنی برای اطمینان .. !!


با چه ورژنی نوشتی؟؟؟؟
باز نمیکنه
2010 و 2008 رو هم رو سیستمم نصب دارم.

rezam44
سه شنبه 11 تیر 1392, 16:57 عصر
از یک فایل txt معمولی هم میتوانی استفاده کنی ، ویدیوی اموزش فارسی ان هم هست فکر میکنم برای اقای کیانیان بود
یک دفترچه تلفن با این متد درسته کرده بودند و ......

هر داده را مثلا با "," از هم جدا کن و ...
هر خط هم معرف یک چیزی باشه و ....

از XML خیلی ساده تر و راحت تر است ، البته بستگی داره چی کار بخواهی بکنی ...

کارم اینکه فرض کن

یه اطلاعاتی از کاربر گرفتی مثلا یک سری عدد و اسم و ...
اینا رو روش محاسبه انجام میدیم و بعد ذخیره کرده و نمایش میدیم
و ازشون برای اطلاعات بعدی که کاربر می خواد بده استفاده خواهیم کرد.....
مثلا: داریم معدل ترم به ترم یه دانشجو رو محاسبه می کنیم.... هم نمرات و هم تعداد واحد و نام درس و .. رو ازش میگیریم.... معدل اون ترم رو بهش نشون میدیم.... واگه خواست میره ترم بعد رو محاسبه کنه
و در آخر معدل کل نیاز خواهد بود.
البته اینا رو میشه بدون ذخیره هم انجام داد و یه کم زیاده کاری میشه.

CsharpNevisi
سه شنبه 11 تیر 1392, 17:08 عصر
برنامه رو با ورژن 2012 نوشتم ..... این کارارم میشه انجام داد .. !! مثل یه دیتابیس میمونه دیگه ... اصلا یه دیتابیسه تقریبا

mohammad.ahmady173
سه شنبه 11 تیر 1392, 19:09 عصر
xml بهترین راه حل هست. میتونی برای اینکه به راحتی باز نشه اون رو باینری ذخیره کنی.

rezam44
سه شنبه 11 تیر 1392, 21:56 عصر
برنامه رو با ورژن 2012 نوشتم ..... این کارارم میشه انجام داد .. !! مثل یه دیتابیس میمونه دیگه ... اصلا یه دیتابیسه تقریبا


میشه تو 2010 بنویسیش؟
با تشکر:چشمک:

rezam44
سه شنبه 11 تیر 1392, 21:57 عصر
راستی نحوه خالی کردن XMl چطوریه؟ یا نیازی به خالی کردن نیست؟

CsharpNevisi
سه شنبه 11 تیر 1392, 22:28 عصر
میشه تو 2010 بنویسیش؟
با تشکر
2010 ندارم ... !!!!
خب 2012 نصب کن ... !!!
اصلا میخوایی کد بزارم .. !!؟؟
اینم کدش :


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//____________ این فضا یادت نره
using System.IO;

namespace mohsen_fathi
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void label1_Click(object sender, EventArgs e)
{

}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
FileInfo DB = new FileInfo(Application.StartupPath + "DataBase.mohsen");
if (DB.Exists)
{
string a = File.ReadAllText(Application.StartupPath + "DataBase.mohsen");
DB.Delete();
File.WriteAllText(Application.StartupPath + "DataBase.mohsen", a + ";" + txtID.Text + "," + txtName.Text + "," + txtFamily.Text);

}
else
{
File.WriteAllText(Application.StartupPath + "DataBase.mohsen" , txtID.Text + "," + txtName.Text + "," + txtFamily.Text);
}
}

private void Form1_Load(object sender, EventArgs e)
{

FileInfo DB = new FileInfo(Application.StartupPath + "DataBase.mohsen");
if (DB.Exists)
{
string[] a;
string[] b;
a = (File.ReadAllText(Application.StartupPath + "DataBase.mohsen")).Split(';');
foreach (string aa in a)
{
b = (aa).Split(',');
listBox1.Items.Add(b[0] + " - " + b[1] + " " + b[2]);
}
}
else
{
listBox1.Items.Add("بانک اطلاعاتی وجود ندارد");
}
}

private void button2_Click(object sender, EventArgs e)
{
FileInfo DB = new FileInfo(Application.StartupPath + "DataBase.mohsen");
if (DB.Exists)
{
listBox1.Items.Clear();
string[] a;
string[] b;
a = (File.ReadAllText(Application.StartupPath + "DataBase.mohsen")).Split(';');
foreach (string aa in a)
{
b = (aa).Split(',');
if (b[0] == txtSerch.Text)
listBox1.Items.Add(b[0] + " - " + b[1] + " " + b[2]);
}
if (listBox1.Items.Count - 1 == -1)
{
listBox1.Items.Add("شخص مورد نظر یافت نشد");
}
}
}
}
}

ehsan7007
سه شنبه 11 تیر 1392, 22:34 عصر
سلام دوست عزیز ؛
مونطور که دوستان گفتند راه های زیادی هست ؛

فایل های متنی txt یا با فرمت خودت که البته دوتاش فرق نداره و یه سری محدودیت ها داره.
استفاده از setting هم راه مناسبیه.
رجیستری هم که هست.
xml هم بهترین راهه


ولی چرا از دیتابیس استفاده نمی کنی؟ اگه با sql مشکل داری اکسس هم خوبه ها!