求帮助,求大神,分全给了

兰之羽翼 2014-04-15 11:42:43
介绍:1、两个系统A和B,A系统往B系统增加、更新数据,传进B系统数据是靠一个规定好格式的xml文件(文件格式下面给出,里面有一段是增加insert,另一段是更新update)2、A系统往B系统传数据时,会在B系统创建一个临时表,临时表中有字段:IfCanTransState 可以区分是否数据已存在,即判断是调用增加,还是调用更新
即:IfCanTransState ='1'"; //获取B系统中已接收过的数据,即更新数据
IfCanTransState ='2'"; //获取需要重新生成编号的数据,即新增数据
需要做:组织出这个xml格式(可以拼接出一个字符串),字段定义一个参数变量,获取数据后,判断是增加或更新,以这个格式增加或更新到B系统,可以一条一条发送,可以一次发送
(AB系统真实存在,数据库都有,连接数据库地址、表名等先填一个测一下)
用C#编写

注:懂得太少,上面是我整理的,第一次接触开发,需要完整代码,请各位朋友大侠大神,不要留下网址参考例子,不要三两句话说怎么做,是要实现。因为从未接触过,几句话也理解不了,几行代码也顺着写不出来全部,望理解。

下面是xml格式:
<request>
<insert>
<fields>
<RepUser>
<RepID></RepID><!--主键-->
<OrgGrpID></OrgGrpID><!--所属部门-->
<Name></Name><!--名称-->
<Sex></Sex><!--性别-->
<LastName></LastName><!--姓-->
<FirstName></FirstName><!--名-->
<Country>0</Country><!--国家/地区-->
<ZipCode></ZipCode><!--邮编-->
<City></City><!--城市-->
<Street></Street><!--街道-->
<CountryCode></CountryCode><!--国家代码-->
<Tel1></Tel1><!--电话1-->
<Tel2></Tel2><!--电话2-->
<Fax></Fax><!--传真-->
<New></New><!--创建日期-->
<Upd></Upd><!--更新日期-->
<E-mail1></E-mail1><!--电子邮件-->
<TMRep></TMRep><!--TM用户-->
<LanguageNo></LanguageNo><!--语言编号-->
<E-mail2></E-mail2><!--电子邮件2-->
<E-mailPriv></E-mailPriv><!--私人电子邮件-->
<Type></Type><!--类型-->
<Inactive></Inactive><!--离职-->
<SuperiorID></SuperiorID><!--上级-->
<ExtSystem></ExtSystem><!--外部系统-->
<ExtKey></ExtKey><!--外部主键-->
<HierarchyCode></HierarchyCode><!--层次结构代码-->
<ApproverRole></ApproverRole><!--审批人角色-->
<RepProperty></RepProperty><!--销售属性-->
<Position></Position><!--岗位-->
</RepUser>
</fields>
</insert>
</request>


<request>
<update>
<tables>
<table tablename="RepUser"/>
</tables>
<condition>
<cond tablename="RepUser" fieldname="RepID" op="=" value="88"/>
</condition>
<fields>
<RepUser>
<RepID></RepID><!--主键-->
<OrgGrpID></OrgGrpID><!--所属部门-->
<Name></Name><!--名称-->
<Sex></Sex><!--性别-->
<LastName></LastName><!--姓-->
<FirstName></FirstName><!--名-->
...
</RepUser>
</fields>
</update>
</request>
...全文
417 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我在公司不能开别的Q,您把Q号密码发我也没用
  • 打赏
  • 举报
回复
先把这俩xml的格式统一下吧,这样方便处理些
richard_1015 2014-04-16
  • 打赏
  • 举报
回复
根据的的xml 设计出来一个model 序列化和反序列化
Justin-Liu 2014-04-16
  • 打赏
  • 举报
回复
XmlDocument解析请求 ADO.NET等处理数据
  • 打赏
  • 举报
回复
楼主可以先把写了的那一部分代码贴过来看下
欢乐的小猪 2014-04-16
  • 打赏
  • 举报
回复
楼主,这边都是帮忙解决问题,或是提供思路的。 你这种情况问自己身边的同事或朋友比较靠谱些。 再不行就自己google去吧。
兰之羽翼 2014-04-16
  • 打赏
  • 举报
回复
以上各位,没别的意思,请看清楚再回答,只是一个接口,现在写了一部分,改改动动,搞不明白了,从来没做过开发,也慢慢知道这就是一个接口而已,业务层,实际传输都不用考虑。简单说:按那个xml格式,组织出来一个字符串,判断一下是增加还是更新,然后调用更新或增加,最后写个方法,自己测一下能传输数就行(测试可以写个web,可以写个winform)这是这两天从一点没接触,慢慢摸索出来的。 没人要功能,更没人要系统,钱?猪八戒?那是要系统,要全部开发,好不?各位看清楚好吗?我这里就是一个接口代码。都知道从基础学习,只是急需要,对于一个没有开发概念,开发工具否没见过的人来讲,请问一两天可以吗?你们都是开发人员,都知道程序员怎么成长起来的,正是因为如此,才求助一下这些程序员大侠。一个个都说没那么难,可又说全部代码别想了。如果时间充分,我从头开始学,学上几个月再做,我也知道简单了。 我说了,不能做没关系,帮不了忙也没关系,就不要回复了,赚个积分,再数落人两句,很有意思吗?
五更琉璃 2014-04-16
  • 打赏
  • 举报
回复
这个应该 发到类似 “猪八戒” 那样的网站去
bdmh 2014-04-16
  • 打赏
  • 举报
回复
要完整代码,你就别想了,还是自己安心的去学习相关的资料,耐心动手试试,没有你想的那么难
般若-金刚 2014-04-16
  • 打赏
  • 举报
回复
这是叫人完全设计,可能只有才有可能,要是讨论应该不难
兰之羽翼 2014-04-16
  • 打赏
  • 举报
回复
引用 19 楼 lyq8376 的回复:
抱歉,我在公司的QQ不加陌生人,只加同事和客户
恩,好的,我这里有个QQ,上面有我的号,你登上,方便请教你,谢谢了 QQ:1357391524 密码:qq662233
兰之羽翼 2014-04-16
  • 打赏
  • 举报
回复
引用 16 楼 lyq8376 的回复:
A系统跟B系统是对应的同一个数据库吗?
不是同一个,是A系统数据往B系统传,传的时候在B系统的库里创建一个临时表,表里有那个字段,读取那个字段,来判断是增加还是更新。加一下我的QQ吧283759964
  • 打赏
  • 举报
回复
抱歉,我在公司的QQ不加陌生人,只加同事和客户
兰之羽翼 2014-04-16
  • 打赏
  • 举报
回复
引用 16 楼 lyq8376 的回复:
A系统跟B系统是对应的同一个数据库吗?
可以吗?加一下QQ:283759964
兰之羽翼 2014-04-16
  • 打赏
  • 举报
回复
引用 16 楼 lyq8376 的回复:
A系统跟B系统是对应的同一个数据库吗?
加我一下QQ吧,这样回复太慢 283759964
  • 打赏
  • 举报
回复
A系统跟B系统是对应的同一个数据库吗?
  • 打赏
  • 举报
回复
你们是怎么考虑的?这两个xml的格式没统一?update里有tables和condition,insert里却没有?
兰之羽翼 2014-04-16
  • 打赏
  • 举报
回复
引用 7 楼 lyq8376 的回复:
楼主可以先把写了的那一部分代码贴过来看下
Receive.aspx代码:
namespace CRM_XML_Test
{
    public partial class Receive : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            StreamReader reader = new StreamReader(Request.InputStream);
            String xml = reader.ReadToEnd();
            FileStream fs = new FileStream(Server.MapPath("test.xml"), FileMode.Create);
            StreamWriter sw = new StreamWriter(fs);
            sw.Write(xml);
            sw.Close();
            fs.Close();
 
            Response.Write(xml);
 
        }
    }
}
兰之羽翼 2014-04-16
  • 打赏
  • 举报
回复
Receive.aspx代码:
namespace CRM_XML_Test
{
    public partial class Receive : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            StreamReader reader = new StreamReader(Request.InputStream);
            String xml = reader.ReadToEnd();
            FileStream fs = new FileStream(Server.MapPath("test.xml"), FileMode.Create);
            StreamWriter sw = new StreamWriter(fs);
            sw.Write(xml);
            sw.Close();
            fs.Close();

            Response.Write(xml);

        }
    }
}
  • 打赏
  • 举报
回复

using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand(queryString, connection);
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                try
                {
                    while (reader.Read())
                    {
                        s = reader[0].ToString().Trim();
                    }
                }
                finally
                {
                    command.Dispose();
                    connection.Close();
                }
            }
改为

using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand(queryString, connection);
                connection.Open();
                object obj = command.ExecuteScalar();
                if (obj != null && !(obj is DBNull))
                {
                    s = obj.ToString().Trim();
                }
                connection.Close();
            }
另外,Receive.aspx这个页面的后台代码也贴过来看下
加载更多回复(3)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧