标签: dataprovider

.net mysql连接器vs odbc mysql连接器3.51

嗨,大家好问题,

在尝试获取应用程序的噩梦后,我使用Visual Studio 2010编写,使用ODBC MySQL Connector 3.51连接到我的本地MySQL数据库.我决定尝试原生的.Net MySQL提供程序......

using MySql.Data.MySqlClient
Run Code Online (Sandbox Code Playgroud)

代替

using System.Data.Odbc
Run Code Online (Sandbox Code Playgroud)

使用MySqlClient我已经能够让我的应用程序正常工作,连接到服务器甚至进行选择last_insert_id()- 当我尝试使用ODBC时我遇到了问题 - 我注意到它有点滑稽数据阅读器,似乎你需要在每次完成阅读时关闭它或者它什么都不做.

我只是在寻找一些建议来确定使用这两种方法连接到MySql之间究竟有什么区别(我知道使用ODBC驱动程序方法,你必须确保客户端机器安装了ODBC驱动程序的副本但不要'知道其他方法)

c# mysql visual-studio-2010 dataprovider

1
推荐指数
1
解决办法
5173
查看次数

将自定义 sql 查询转换为数据提供程序 yii?

我正在尝试将以下查询转换为数据提供程序,以便它可以显示在 CGridView 中。我曾尝试使用 CArrayDataProvider,但到目前为止还没有任何运气,任何帮助将不胜感激!

这是查询

public function getTeamsByLevelIdAndCompetitionId($levelId, $competitionId) 
{
    $query = "SELECT t.*, 
         (SELECT COUNT(*) 
    FROM tbl_competition_teams ct
    WHERE ct.team = t.id
    AND ct.competition = :competitionId) AS 'inCompetition'
    FROM tbl_teams t 
    WHERE t.level = :levelId";

    $params = array(
        'levelId' => $levelId,
        'competitionId' => $competitionId
    );

    $result = array();
    $teams = $this->findAllBySQL($query, $params);
    return $teams;
}
Run Code Online (Sandbox Code Playgroud)

这就是我尝试将其放入 CArrayDataProvider 的方式:

public function getTeamsByLevelIdAndCompetitionId($levelId, $competitionId) 
{
    $rawData = Yii::app()->db->createCommand("SELECT t.*, 
         (SELECT COUNT(*) 
    FROM tbl_competition_teams ct
    WHERE ct.team = t.id
    AND ct.competition = …
Run Code Online (Sandbox Code Playgroud)

mysql yii dataprovider

1
推荐指数
1
解决办法
3501
查看次数

当有多个模型时,GridView 中的分页计算所有记录,但在 Yii2 中预期行数

当 GridView 中有 2 个模型并且在一行中插入了来自第二个模型的 1 个以上的记录时,我遇到了分页问题。

DataProvider 看起来像:

    $query = Risks::find();

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
        'pagination' => array('pageSize' => 5),
    ]);

    $query->joinWith(['solutions']);
Run Code Online (Sandbox Code Playgroud)

Ins第二个模型我有功能:

  public function getSolutionValues (){

     ......
    $content ='';

    foreach ($order as $o){
        $model = Solutions::findOne($o);
        $content.= '<p>'.Html::encode($model->solution).'</p>';
    }
    return $content;

}
Run Code Online (Sandbox Code Playgroud)

在 GridView 我调用这个函数:

            [
            'attribute' => 'solutions',
            'format' => 'raw',
            'value' => function ($model) {
                return $model->getSolutionValues();
            },
        ],
Run Code Online (Sandbox Code Playgroud)

例如,这里只有前 3 条记录(而不是 5 条)可见,因为第一行插入了来自不同模型的 3 个条目。(如果插入一个解决方案,那么一切都可以) 在此处输入图片说明

如果我从列表中删除一个解决方案,分页不会改变,我必须从数据库中删除解决方案,然后只有分页不计入该条目。

php pagination gridview dataprovider yii2

1
推荐指数
1
解决办法
1727
查看次数

Yii2如何使用不同模型的联合创建ActiveDataProvider

我正在尝试从两个不同的模型创建联合,id, body当发送dataProviderGridView:时,两个模型在错误下方具有相同的列

SQLSTATE[07002]: [Microsoft][ODBC Driver 11 for SQL Server]COUNT field incorrect or syntax error The SQL being executed was: SELECT COUNT(*) FROM ((SELECT [id], [body] FROM [web_article] WHERE body LIKE '%a%') UNION ( SELECT [id], [body] FROM [email_article] WHERE body LIKE '%a%' )) [c]

我复制了sql查询,然后运行它MSSQL Server,它返回结果!

在控制器代码下面:

$model = new DynamicModel([
    'text', 'type'
]);

$model->addRule(['text'], 'required')
      ->addRule('text', 'string');

$emailArticle = EmailArticle::find()->select('id, body')->where('body LIKE :query')->addParams([':query'=>"%{$model->text}%"]);
$webArticle = WebArticle::find()->select('id, body')->where('body LIKE :query')->addParams([':query'=>"%{$model->text}%"]); …
Run Code Online (Sandbox Code Playgroud)

sql-server union gridview dataprovider yii2

1
推荐指数
1
解决办法
2595
查看次数

有没有办法在运行时动态加载数据提供程序?

我不想修改我的machine.config,但我想使用Npgsql库作为数据提供程序.我将我的应用程序部署到多个平台(包括单声道),所以我真的希望"正常工作"而不是给我错误"无法找到所请求的.Net Framework数据提供程序".

有没有办法在运行时"注册"Npgsql作为数据提供程序,所以这不会发生?

我应该澄清Npgsql在大多数情况下没有在我的machine.config中工作正常,但是有一些它不能很好地工作(比如NLog--我沮丧的当前来源).

c# asp.net postgresql npgsql dataprovider

0
推荐指数
1
解决办法
1502
查看次数

DataProvider对GWT中的CellTable做了什么

我是GWT应用程序开发的初学者.我在线搜索过CellTable.除了一些例子之外没有任何解释.

现在我真的想知道DataProvider在CellTable中究竟做了什么?还想了解更多关于celltable的信息,以及是否有相同的资源?

gwt dataprovider celltable

0
推荐指数
1
解决办法
3936
查看次数

今天日期的Yii dataprovider标准

我想仅在今天的日期显示数据提供者中的数据.$ data-> timedate是约会日期.如果它等于当前日期,则显示它.以下代码不起作用.

//today appointments dataprovider
        $taProvider=new CActiveDataProvider('Appointments',array(
                'sort'=>array(
                    'defaultOrder'=>'datetime ASC',
                    ),
                'criteria'=>array(
                        'condition'=>'cId=:cId',
                        'params'=>array(':cId'=>Yii::app()->user->id),
                        'condition'=>$data->timedate = date('Y-m-d'),


                    ),    
            ));
Run Code Online (Sandbox Code Playgroud)

criteria yii dataprovider conditional-statements

0
推荐指数
1
解决办法
5341
查看次数