PDA

View Full Version : مشکل در تبدیل کردن اطلاعات و ذخیره آنها



mary3541
سه شنبه 29 اردیبهشت 1388, 10:31 صبح
توی برنامم یک جدول به نام Passenger و یک جدول به نام Reserve دارم که Passenger_ID برای جدول Reserve یک کلید خارجی حساب میشه
فرمی به نام Reverse دارم که در آن باید نام و نام خانوادگی مسافر هم در یک Dgv ثبت بشه.برنامم هم به صورت سه لایه هست.
میخوام جای Passenger_ID نام و نام خانوادگی قرار بگیره با کد زیرتو کلاس Passenger تونستم


public DataTable PassengerName()
{
DataTable dt = new DataTable();
string str = "select [Id],[Name] + ' ' + [Family] AS [Title] from [Passenger] ";
dt = db.DoSelect(str);
return dt;
}

ولی نمیدونم بعد برای save کردن چه کاری انجام بدم چون در جدول Reverse فقط Passenger_ID که از نوع int هست ذخیره میشه نه نام و نام خانوادگی

hsmfaridmehr
سه شنبه 29 اردیبهشت 1388, 13:04 عصر
دو تا کار می تونید انجام بدید

1.ID رو هم در GridView بذارید ولی Visible سطونش رو false کنید تا فقط واسه جستوجو یا حذف و... استفاده کنید.



gridView.Columns["ID"].Visible=false;


و برای استفاده



gridView.CurrentRow.Cells["ID"].Value.ToString();



2.یا تابعی در کلاس مورد نظر داشته باشید که فرد رو با تمام مشخصات دیگر (بجز ID ) هم بتواند پیدا کند و ID اون رو برگردونه

مثال



publicDataTable GetData()
{
OleDbCommand command = newOleDbCommand();
OleDbDataAdapter customerDataAdapter = newOleDbDataAdapter();
DataTable dt = newDataTable();
try
{
connection.Open();
command.Connection = connection;
string selectCommand = SelectData();
if (selectCommand != null)
{
selectCommand = "WHERE " + selectCommand + " ORDER BY CustomerID ASC";
}
else
{
selectCommand = "ORDER BY CustomerID ASC";
}
command.CommandText = "SELECT Customer.CustomerID AS [ ], FirstName AS ," +
" LastName AS [ ], Address AS , PhoneNumber1 AS [ 1], PhoneNumber2 AS [ 2]," +
" CustomerDetail AS , CustomerSince AS [ ] FROM Customer " + selectCommand;
customerDataAdapter.SelectCommand = command;
customerDataAdapter.SelectCommand.ExecuteNonQuery( );
customerDataAdapter.Fill(dt);
return dt;
}
catch
{
returnnull;
}
finally
{
connection.Close();
command.Dispose();
customerDataAdapter.Dispose();
dt.Dispose();
}
}


privatestring SelectData()
{
string selectCommand = null;
if (_customerID != 0)
{
selectCommand += " AND CustomerID = " + _customerID;
}
selectCommand += " AND FirstName LIKE '" + _firstName + "%'";
selectCommand += " AND LastName LIKE '" + _lastName + "%'";
selectCommand += " AND Address LIKE '" + _address + "%'";
selectCommand += " AND PhoneNumber1 LIKE '" + _phoneNumber1 + "%'";
selectCommand += " AND PhoneNumber2 LIKE '" + _phoneNumber2 + "%'";
selectCommand += " AND CustomerDetail LIKE '" + _customerDetail + "%'";
selectCommand += "AND CustomerSince LIKE '" + _customerSince + "%'";
if (selectCommand != null)
{
return selectCommand.Remove(0, 4);
}
returnnull;
}