yuhuang 发表于 2019-9-4 10:23:41

AR连接本地数据库

目前WebDesigner_MVC(Core) demo里的数据源是本地的json数据,我想用代码连接本地数据库试试,请问能提供相关demo吗?

yuhuang 发表于 2019-9-4 12:01:32

AR13在线设计器中怎么添加自己的数据源?

KearneyKang 发表于 2019-9-4 12:01:59

你是想进行动态数据源绑定还是,目前Web端在线的本地文件都是需要进行一个对应的转换的,具体如下:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=55960&extra=page%3D2

yuhuang 发表于 2019-9-4 14:27:23

按照示例运行后,数据库里字段能加载出来,但数据加载不出来
给的示例中XmlJsonData.DataSource.ConnectionProperties.ConnectString没有赋值
需要赋值吗?如何赋值呢?

KearneyKang 发表于 2019-9-4 14:32:37

demo中使用的是动态数据源的绑定用的Datatable这里不需要赋值

yuhuang 发表于 2019-9-4 14:46:54

按照demo运行报错:Rendering error:No data has been set. Please specify either a DataSet or a DataView to use

我返回的json:

    {
      "DataSet": {
            "Name": "DataSet1",
            "Query": {
                "CommandText": null,
                "DataSourceName": "DataSource1"
            },
            "Fields": [{
                "Name": "AutoID",
                "DataField": "AutoID",
                "FBz": "AutoID"
            }, {
                "Name": "ParkLotNo",
                "DataField": "ParkLotNo",
                "FBz": "ParkLotNo"
            }, {
                "Name": "ParkLotHeight",
                "DataField": "ParkLotHeight",
                "FBz": "ParkLotHeight"
            }, {
                "Name": "ParkLotWidth",
                "DataField": "ParkLotWidth",
                "FBz": "ParkLotWidth"
            }, {
                "Name": "ParkLotX",
                "DataField": "ParkLotX",
                "FBz": "ParkLotX"
            }, {
                "Name": "ParkLotY",
                "DataField": "ParkLotY",
                "FBz": "ParkLotY"
            }, {
                "Name": "ParkLotAngle",
                "DataField": "ParkLotAngle",
                "FBz": "ParkLotAngle"
            }, {
                "Name": "ParkLotName",
                "DataField": "ParkLotName",
                "FBz": "ParkLotName"
            }, {
                "Name": "MapNo",
                "DataField": "MapNo",
                "FBz": "MapNo"
            }, {
                "Name": "AreaNo",
                "DataField": "AreaNo",
                "FBz": "AreaNo"
            }, {
                "Name": "ProbeNo",
                "DataField": "ProbeNo",
                "FBz": "ProbeNo"
            }, {
                "Name": "PlateNo",
                "DataField": "PlateNo",
                "FBz": "PlateNo"
            }, {
                "Name": "GroupNo",
                "DataField": "GroupNo",
                "FBz": "GroupNo"
            }]
      },
      "DataSource": {
            "Name": "DataSource1",
            "ConnectionProperties": {
                "ConnectString": null,
                "DataProvider": "DATASET"
            }
      }
    }
麻烦帮我看看,谢谢了:)

yuhuang 发表于 2019-9-4 14:49:22

版本是AR13

KearneyKang 发表于 2019-9-4 14:53:44

本帖最后由 KearneyKang 于 2019-9-4 14:59 编辑

您好,动态绑定数据源后台只能是Datatable、Dataset 或者Object的类型,
链接本地数据库的话,你说的 是直接连接本地数据库,那么你可以把你的本身数据给转换成类JSON的样式,具体操作如下:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=55949&extra=page%3D2

yuhuang 发表于 2019-9-4 15:16:52


我使用的是WebDesigner_MVC(Core) demo这个项目

1、把你个的demo添加进来,也是报同样的错误rendering error:No data has been set. Please specify either a DataSet or a DataView to use

2、我返回的是object类型,为了直观,给你看的json的
var ds = GetDataSet(connectionString, strSql);

      ArData arData = new ArData();
      arData.DataSet = new ArDataSet();
      arData.DataSet.Name = "DataSet1";
      arData.DataSet.Query = new ArQuery();
      arData.DataSet.Query.DataSourceName = "DataSource1";
      //arData.DataSet.Query.CommandText = "$.Data[*]";
      arData.DataSet.Fields = new ArField.Columns.Count];
      foreach (DataColumn drc in ds.Tables.Columns)
      {
            arData.DataSet.Fields = new ArField(drc.ColumnName, drc.ColumnName, drc.DataType.ToString());
      }
      arData.DataSource = new ArDataSource();
      arData.DataSource.Name = "DataSource1";
      arData.DataSource.ConnectionProperties = new ArConnectionProperties();
      //arData.DataSource.ConnectionProperties.ConnectString = JsonConvert.SerializeObject(ds);
      arData.DataSource.ConnectionProperties.DataProvider = "DATASET";
      //string jsonData = JsonConvert.SerializeObject(arData);

      return arData;

yuhuang 发表于 2019-9-4 15:18:33

本帖最后由 yuhuang 于 2019-9-4 15:22 编辑

好的,我再试试
页: [1] 2
查看完整版本: AR连接本地数据库