form窗体上有如下控件textboxX1,textboxX2,textboxX3,textboxX4,textboxX5
textboxY1,textboxY2,textboxY3,textboxY4,textboxY5
textboxName “保存”按钮
comboxName,“读取”“删除”,按钮。。
数据库表名为data,有两个表 main表 字段为main_id 自动编号 pk
name 文本
time now()
num表 字段为"编号" 自动编号 pk
x 数字
y 数字
main_id
main表为父表,num表为子表,连接字段为main_id
问题:1。向textboxX1,textboxY1。。textboxX5,textboxY5,输入数字,且向texboxName中输入名称,可以实现数据的存储,texboxName内容存入main表的name字段,textboxX1,textboxY1。。textboxX5,textboxY5存入num表的x,y字段,
2。从comboxName下拉框选择名称时,点击“读取”,textboxX1,textboxY1。。textboxX5,textboxY5,显示相应的x,y字段的值,textboxName,显示main表的字段name的值。
3。从comboxName下拉框选择名称时,点击“删除”,则相应的父子表数据被删除。
4。如果main表,字段name的值有两个同名,怎么处理。
希望能给出关键程序。
textboxY1,textboxY2,textboxY3,textboxY4,textboxY5
textboxName “保存”按钮
comboxName,“读取”“删除”,按钮。。
数据库表名为data,有两个表 main表 字段为main_id 自动编号 pk
name 文本
time now()
num表 字段为"编号" 自动编号 pk
x 数字
y 数字
main_id
main表为父表,num表为子表,连接字段为main_id
问题:1。向textboxX1,textboxY1。。textboxX5,textboxY5,输入数字,且向texboxName中输入名称,可以实现数据的存储,texboxName内容存入main表的name字段,textboxX1,textboxY1。。textboxX5,textboxY5存入num表的x,y字段,
2。从comboxName下拉框选择名称时,点击“读取”,textboxX1,textboxY1。。textboxX5,textboxY5,显示相应的x,y字段的值,textboxName,显示main表的字段name的值。
3。从comboxName下拉框选择名称时,点击“删除”,则相应的父子表数据被删除。
4。如果main表,字段name的值有两个同名,怎么处理。
希望能给出关键程序。
3。从comboxName下拉框选择名称时,点击“删除”,则相应的父子表数据被删除。
4。如果main表,字段name的值有两个同名,怎么处理。绑定combobox的时候,除了用name来绑定DisplayMember,还可以用ID来绑定ValueMember,那么在SelectedIndexChanged事件中去做,参看
http://blog.csdn.net/knight94/archive/2006/04/02/648172.aspx
SqlTransaction myTrans = yourDBConn.BeginTransaction(IsolationLevel.ReadCommitted,
"MyTransaction");
int nNewID = -1;
try
{
// Must assign both transaction object and connection
// to Command object for a pending local transaction
// Add main table use sql-command
SqlCommand sqlComm = new SqlCommand( yourQuery, yourDBConn );
sqlComm.Transaction = myTrans;
sqlComm.CommandTimeout=3600;//Set timeout
sqlReader=sqlComm.ExecuteReader(); if(sqlReader.Read())
{
nNewID = int.Parse(sqlReader.GetValue(0).ToString());//Get new ID
}
sqlReader.Close();
if( nNewID < 0 ) return;
// Add child table with new ID
// Create your sql statement using new ID
sqlComm.CommandText = newQuery;
sqlComm.ExecuteNonQuery();
// Commit transaction
myTrans.Commit();
}
catch(SqlException sqlErr)
{
myTrans.RollBack();
MessageBox.Show( sqlErr.Message );
}
catch(Exception Err)
{
myTrans.Rollback();
MessageBox.Show( Err.Message );
}
ADO.NET中的多数据表操作浅析
http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
透过vs.net数据窗体向导看Ado.net
http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx