JqGrid ve Microsoft SQL Server

3 Cevap php

Ben bu harika JQuery plugin SQL Server ile çalışma almak için çalışıyorum. Ben şimdi SQL Server (2008) ile kurulum var - I (MS Access ile) başka bir yerde kullanmak gibi kurulum PDO'yu var. İşte bağlamak nasıl:

define('DB_DSN',"odbc:Driver={SQL Server};Server=MyInstance;Database=table1;");
define('DB_USER', ''); 
define('DB_PASSWORD', '');

// include the jqGrid Class
require_once "php/jqGrid.php";
// include the PDO driver class
require_once "php/jqGridPdo.php";
// Connection to the server
$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
// Tell the db that we use utf-8
$conn->query("SET NAMES utf8");
// Create the jqGrid instance
$grid = new jqGridRender($conn);
$tsql = 'SELECT * FROM Trt';
// Write the SQL Query
$grid->SelectCommand = $tsql;
// set the ouput format to json
$grid->dataType = 'json';
// Let the grid create the model
$grid->setColModel();
// Set the url from where we obtain the data
$grid->setUrl('report-creator.php');

// Set grid caption using the option caption
$grid->setGridOptions(array(
    "caption"=>"Report",
    "rowNum"=>10,
    "sortname"=>"OrderID",
    "hoverrows"=>true,
    "rowList"=>array(10,20,50),
    ));

$grid->toolbarfilter = true;
$grid->setFilterOptions(array("stringResult"=>true));
$grid->renderGrid('#grid','#pager',true, null, null, true,true);
$conn = null;

Ben bu hatayı alıyorum:

    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[IM001]: Driver
 does not support this function: driver doesn't support meta data' in  
C:\wamp\www\webs\tgd\edh\php\jqGridPdo.php(1) : eval()'d code:1 Stack trace: #0 
C:\wamp\www\webs\tgd\edh\php\jqGridPdo.php(1) : eval()'d code(1): PDOStatement-
    >getColumnMeta(0) #1 C:\wamp\www\webs\tgd\edh\php\jqGrid.php(1) : eval()'d code(7):  
jqGridDB->getColumnMeta(0, Object(PDOStatement)) #2 C:\wamp\www\webs\tgd\Front- End\report-
creator.php(31): jqGridRender->setColModel() #3 C:\wamp\www\webs\tgd\Front- End\view-
report.php(123): require_once('C:\wamp\www\web...') #4 {main} thrown in  
C:\wamp\www\webs\tgd\edh\php\jqGridPdo.php(1) : eval()'d code on line 1

Ben herhangi bir yardım takdir - Ben sadece sorunu anlayamıyorum. Ben bu işlev için aşağı daralmış var: $grid->SelectCommand - Ben bu hata oluşur kaldırmak ama benim t-sql sorgu nerede bu olduğu gibi bu olmadan yapamaz eğer veritabanı gider.

I PDQ->Query('SELECT * FROM table1') kullanarak SQL Server MySQL sorgulamak mümkün duyuyorum.

Tüm teşekkürler

Please note: I have edited table name, file paths for privacy. :)

3 Cevap

Ben bu yüzden Microsoft PHP sürücüsü kullanan jqGrid çocuklar tarafından yazılmış başka bir sınıf üzerinde açık bu çözemediler. Bu benim sorunum çözüldü, o birisi yardımcı olur umarım.

Bu durumda, sizin MSSQL sürücüsü - jqGrid sütunları numaralandırmak getColumnMeta işlevini kullanır, ancak bu fonksiyon may be unsupported gibi çeşitli sürücüleri tarafından görünüyor.

GetColumnMeta çalışır eğer testi için yukarıdaki bağlantıyı örneklere bakın.

Ben Trirand (geliştiriciler jqGrid ki şirket - ASP.NET ekibi) için çalışmak ve ne yazık ki çok PHP ile yardımcı olamaz, ama ben de kendi forumlarda aynı soruyu gönderme önerebilirsiniz:

http://www.trirand.net/forum/

Orada bir PHP jqGrid forum bulacaksınız ve bizim PHP ekibi zamanında bir yanıt alırsınız. Bu arada ben onlara bir e-posta yazmak ve de burada yardım isteyin, ama sadece dava ilanıyla size bir cevap var garanti olacaktır.

Cheers, Rumen Stankov Trirand Inc