3067|2

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

sql server CE数据同步更新中,插入数据rowguid的问题 [复制链接]

我现在做的项目用到pda开发,我用sql server 2005,vs 2005开发window mobile 6程序,
想要数据库同步更新,我用的方法是“合并复制”和“请求订阅”,表中自动创建了一个字段“rowguid”,但是我插入一条数据时,报错:列“rowguid”不允许空值。怎样解决,编辑一条记录,sdf文件得到更改,但是数据库没变,不能达到同步,不知哪里有问题,我是按照http://www.itpub.net/788212.html  里面的方法做的
我是做asp.net开发的,以前没做过这个,所以叙述也不是很准确,请见谅

最新回复

sqlce不像sql server不能自动生成guid 需要需要你自己生成一个guid插入。 方法请参考: http://www.codeproject.com/netcf/PPCGuidGen.asp  详情 回复 发表于 2007-10-30 00:39
点赞 关注

回复
举报

84

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这是我的代码,请看一下,感谢各位高手,我很着急,从头学,已做了3天了   
public partial class Form1 : Form
    {
       string filename = @"\Program Files\SQLMobile\sqlmobile.sdf";
        string CumputerName = @"ElvisGao";
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            DeleteDB();
            Sync();
            if (snapshotDataSetUtil.DesignerUtil.IsRunTime())
            {
                this.userInfoTableAdapter.Fill(this.snapshotDataSet.UserInfo);
            }
        }
        private void Sync()
        {
            SqlCeReplication repl = new SqlCeReplication();
            repl.InternetUrl = @"http://localhost/sqlmobile/sqlcesa30.dll";
            repl.Publisher = CumputerName;
            repl.PublisherDatabase = @"SQLMobile";
            repl.PublisherSecurityMode = SecurityType.NTAuthentication;
            repl.Publication = @"SQLMobile";
            repl.Subscriber = @"SQLMobile";
            repl.SubscriberConnectionString = @"Data Source='" + filename + "';Password='';Max Database Size='128';Default Lock Escalation ='100';";
            try
            {
                repl.AddSubscription(AddOption.CreateDatabase);
                repl.Synchronize();
            }
            catch (SqlCeException e)
            {
                MessageBox.Show(e.ToString());
            }
        }
        private void DeleteDB()
        {
            if (System.IO.File.Exists(filename))
            {
                System.IO.File.Delete(filename);
            }
        }
        private void newMenuItemMenuItem_Click(object sender, EventArgs e)
        {
            userInfoBindingSource.AddNew();
            SQLMobile.UserInfoEditViewDialog userinfoEditViewDialog = SQLMobile.UserInfoEditViewDialog.Instance(this.userInfoBindingSource);
            userinfoEditViewDialog.ShowDialog();
        }

        private void userInfoDataGrid_Click(object sender, EventArgs e)
        {
            SQLMobile.UserInfoSummaryViewDialog userinfoSummaryViewDialog = SQLMobile.UserInfoSummaryViewDialog.Instance(this.userInfoBindingSource);
            userinfoSummaryViewDialog.ShowDialog();
        }
    }
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
sqlce不像sql server不能自动生成guid 需要需要你自己生成一个guid插入。
方法请参考:
http://www.codeproject.com/netcf/PPCGuidGen.asp
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表