我正在使用SQL CE,我有下表。SQL CE 3.5插入到多个表中
设备
- DEVID - 主,BIGINT,自动增量
- 名称 - 为nvarchar(100)
- 电压 - 真正
- SettingID - BIGINT,FK_SettingTable
另一个表:
设置
- SettingID - 初级,BIGINT
- SettingStr - 为nvarchar(200)
所以第一表格是装置表和另一个被设定表。设备表和设置表具有外键关系。
如何插入值SQL CE? 我的插入语句看起来像
"INSERT INTO DEVICE(Name,Voltage) VALUES('xyz',120)".
因此,我可以在设备表中插入值。但我怎么能在两个表中插入值?
我是否需要更改数据库设计?
更新:
*string connstring = "Data Source=C://Documents//DataBase.sdf";
SqlCeConnection cnn = new SqlCeConnection(connstring);
if (cnn.State == ConnectionState.Closed) cnn.Open();
Random rm = new Random();
int id = rm.Next();
string str = "INSERT INTO Settings (SettingID,Settings) VALUES(" + id + ",'" + textBox3.Text + "')";
SqlCeCommand command = new SqlCeCommand(str, cnn);
command.ExecuteNonQuery();
str = "INSERT INTO Device (Mfr,Model,SettingID) VALUES('" + textBox1.Text + "','" + textBox2.Text + "'," + id + ")";
command.CommandText = str;
command.ExecuteNonQuery();*
上面的代码工作,但它不看好。随机数和我自己在代码中添加随机数。 没有其他更好的主意吗?
谢谢你们的建议。至少它适合我。
你试图插入设置表中的值是什么? – 2012-01-04 04:05:25
@Jason。 SettingStr是逗号分隔的一对值,如service | ON,Current | 55,comments | No。设置ID是设置表的主键。 – 2012-01-04 05:07:59