PDA

View Full Version : ذخیره اطلاعات datagrid در فایل txt بصورت سطری



hosseines
سه شنبه 05 آبان 1394, 19:44 عصر
سلام خدمت دوستان
بنده یک دیتاگرید دارم که ستون اول شماره حساب و ستون دوم مبلغ می باشد بصورت تصویر زیر

136299

حالا میخواهم اطلاعات هر سطر بررسی شود و ستون شماره حساب باید 13 رقم و ستون مبلغ 10 رقم باشد که هر کدام اگر کم بود ابتدای هر کدام صفر قرار گیرد و سپس در فایل txt بصورت سطر سطر ذخیره شود بصورت زیر
06993003345020000657481+1
06993003345020001314962+1
...
و در انتهای هر سطر 1+ نیز قرار گیرد .
ممنون میشم راهنمایی کنید.

Mahmoud.Afrad
سه شنبه 05 آبان 1394, 21:47 عصر
پیمایش دیتا گرید دسترسی به مقادیر (http://barnamenevis.org/showthread.php?408967-%D9%BE%DB%8C%D9%85%D8%A7%DB%8C%D8%B4-%D8%AF%DB%8C%D8%AA%D8%A7-%DA%AF%D8%B1%DB%8C%D8%AF!&p=1822269&viewfull=1#post1822269)
در مورد StringBuilder الحاق رشته ها
(http://barnamenevis.org/showthread.php?244021-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-StringBuilder)افزودن صفر به ابتدای رشته (http://barnamenevis.org/showthread.php?425228-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%D8%A7%DB%8C%D9%86-%D8%AF%D9%88-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%A8%D8%A7%DB%8C%D8%AF-%DA%86%DA%A9%D8%A7%D8%B1-%DA%A9%D9%86%D9%85%D8%9F)
نوشتن متغیر رشته ای در فایل متنی (http://barnamenevis.org/showthread.php?493412-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D8%B1%D8%B4%D8%AA%D9%87-%D8%A7%DB%8C-%D8%AF%D8%B1-%D9%81%D8%A7%DB%8C%D9%84-%D9%85%D8%AA%D9%86%DB%8C)

hosseines
چهارشنبه 06 آبان 1394, 20:11 عصر
سلام
تونستم اطلاعات رو در فایل ذخیره کنم ولی یه مشکل کوچیک دارم که بعد از ذخیره اطلاعات در فایل یک خط خالی در آخر فایل ایجاد میشه که نمیدونم چکار کنم این خط ایجاد نشه.

Mahmoud.Afrad
چهارشنبه 06 آبان 1394, 21:46 عصر
متد WriteLine بعد از نوشتن به خط بعد میره. ابتدا چک کن اگر خط آخر اطلاعات بود از متد Write استفاده کن.
(برای پاس دادن داده به کامند از پارامتر استفاده کن. جستجو کن!)

using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace TestGridToTxt
{
public partial class Form1 : Form
{
private string _connectionstring = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}\\DB.mdb", Application.StartupPath);

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
Cls_DataBase db = new Cls_DataBase();
DataTable dt = db.MySelect("select * from Table3 order by Id");
dgv.DataSource = dt;
//GrdList.Columns[0].HeaderText = "کد";
//GrdList.Columns[0].Width = 60;
dgv.Columns[1].HeaderText = @"شماره حساب";
dgv.Columns[1].Width = 120;
dgv.Columns[1].Name = "NumHesab";
dgv.Columns[2].HeaderText = @"مبلغ ";
dgv.Columns[2].Width = 120;
dgv.Columns[2].Name = "Mablagh";
dgv.Columns[0].Visible = false;
dgv.Columns[3].Visible = false;
}

private void btnsentofile_Click(object sender, EventArgs e)
{
List<string> outPut = new List<string>();
StringBuilder myStringBuilder = new StringBuilder();
for (int i = 0; i < dgv.RowCount; i++)
{
string sAberBank = dgv[1, i].Value.ToString().PadLeft(13, '0');
string sPool = dgv[2, i].Value.ToString().PadLeft(10, '0');
myStringBuilder.Clear();
myStringBuilder.Append(sAberBank).Append(sPool).Ap pend("+1");
outPut.Add(myStringBuilder.ToString());
}
listBox1.DataSource = outPut;
SaveFileDialog mySaveFileDialog = new SaveFileDialog {Title = @"Hossein", FileName = "hogh.fd"};
if (mySaveFileDialog.ShowDialog() == DialogResult.OK)
{
string fileName = mySaveFileDialog.FileName;
StreamWriter sw = new StreamWriter(fileName);
sw.WriteLine("00000000000000000000000+1");
for (int i = 0; i < outPut.Count; i++)
{
if (i == (outPut.Count - 1)) sw.Write(outPut[i]);
else sw.WriteLine(outPut[i]);
}
sw.Close();
}
lblMessage.Text = @"اطلاعات با موفقيت ذخيره گرديد.";
}

private void btnAdd_Click(object sender, EventArgs e)
{
if (txthesab.Text.Length > 13)
{
MessageBox.Show("H");
return;
}
if (txtmablagh.Text.Length > 10)
{
MessageBox.Show("M");
return;
}

Cls_DataBase db = new Cls_DataBase();
db.DoCommand("insert into Table3(NumHesab,Mablagh)Values ('" + txthesab.Text + "','" + txtmablagh.Text + "')");
MessageBox.Show("افزوده شد.");
Form1_Load(null, null);
txthesab.Clear();
txtmablagh.Clear();
txthesab.Focus();
}
}
}

hosseines
چهارشنبه 06 آبان 1394, 23:37 عصر
ممنون دوست عزیز
(برای پاس دادن داده به کامند از پارامتر استفاده کن. جستجو کن!)
لطف می کنید چند تا مثال بزنید...

محمد رضا فاتحی
پنج شنبه 07 آبان 1394, 08:18 صبح
سلام...با اجازه...
یه نمونه کوچولو...

SqlConnection scon=new SqlConnection("ConnectionSTR");
string command = "insert into tbl(name,famil) values(@a,@b)";
SqlCommand com=new SqlCommand(command,scon);
com.Parameters.AddWithValue("@a", "Reza");
com.Parameters.AddWithValue("@b", "fatehy");

hosseines
پنج شنبه 07 آبان 1394, 12:13 عصر
فرق بین دو روش چیه..؟

محمد رضا فاتحی
جمعه 08 آبان 1394, 17:09 عصر
من سورستون رو ندیدم ولی اگه به این صورت نوشتید
string command = "delete from tbl where id=" + textBox1.Text;

احتمال اینکه نرم افزار یا سایتتون در معرض خطر SQL Injection قرار بگیره هست...
یکی دیگه اینکه سرور در این حالت برای هرکوئری کامپایل رو انجام می ده و کمی در سرعت سرور تاثیر گذاره