我正在使用C#[C sharp]和sql server來開發桌面應用程序。 我有三個表:在datagridview中顯示其他表中的數據以取代外部值
tblSbjEmp
SID
的eIDtblSbj
SID
主旨名稱tblEmp
的eID
EmployeeName
我想告訴tblSbjEmp在DataGridView中。 我已經更換組合框hidding 的eID在datagridview的很容易,但我的問題是,我代替SID的網格想主旨名稱(不組合框)必須是隻讀
public DataSet getDS(String strTableName, String strQuery)
{
myCon = new SqlConnection("connection string");
try
{
DS = new DataSet();
DA = new SqlDataAdapter(strQuery, myCon);
SqlCommandBuilder cmdBldr = new SqlCommandBuilder(DA);
DA.Fill(DS, strTableName);
return DS;
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message + "-----" + ex.ToString());
DataTable DT = new DataTable();
return DS;
}
finally
{
if (myCon.State == ConnectionState.Open)
myCon.Close();
}
}
ds = SObj.getDS("tblSbjEmp", "Select * from tblSbjEmp");
//Lecturer Combobox
DataGridViewComboBoxColumn Employee = new DataGridViewComboBoxColumn();
Employee.HeaderText = "Lecturer";
Employee.Name = "Employee";
Employee.MaxDropDownItems = 4;
Employee.Visible = true;
Employee.Width = 150;
Employee.DataSource = clsSettings.getAllRecords("Select eID, EmployeeName from tblEmp");
Employee.DataPropertyName = "eID";
Employee.ValueMember = "eID";
Employee.DisplayMember = "EmployeeName";
dgvLecturer.Columns.Add(Employee);
在組合框中,我們可以設定DatapropertyName,ValueMember & DisplayMember並選擇combox的數據源,但我怎樣才能得到SubjectName(固定值)來代替sID。但是當我必須更新表,我必須更新sID以下是我使用的更新命令。 SObj.DA.Update(ds,「tblSbjCrs」); 查詢不能通過這種方法更新,所以我使用了網格後面的單個表格。
你是否從數據庫中插入了tbl的內容? – Oedum
是的,我想更新表** tblSbjEmp **只有沒有添加,否刪除 – AsadRaza
需要修改您的選擇查詢。分享它可以相應地改變。 – Sami