开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from Sail/qk
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
qk
/
node_modules
/
sqlserver
/
src
/
Connection.cpp
qk
/
node_modules
/
sqlserver
/
src
/
Connection.cpp
Connection.cpp 6.49 KB
一键复制 编辑 原始数据 按行查看 历史
Sail 提交于 2015年03月02日 22:06 +08:00 . 模块
//---------------------------------------------------------------------------------------------------------------------------------
// File: Connection.cpp
// Contents: C++ interface to Microsoft Driver for Node.js for SQL Server
//
// Copyright Microsoft Corporation and contributors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
//
// You may obtain a copy of the License at:
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//---------------------------------------------------------------------------------------------------------------------------------
#include "stdafx.h"
#include "Connection.h"
namespace mssql
{
using namespace v8;
Persistent<FunctionTemplate> Connection::constructor_template;
void Connection::Initialize(Handle<Object> target)
{
HandleScope scope;
bool initialized = OdbcConnection::InitializeEnvironment();
if( !initialized ) {
target->Set( String::NewSymbol("Connection"), Undefined() );
v8::ThrowException(v8::Exception::Error(v8::String::New("Unable to initialize msnodesql")));
return;
}
Local<FunctionTemplate> t = FunctionTemplate::New(Connection::New);
constructor_template = Persistent<FunctionTemplate>::New(t);
constructor_template->InstanceTemplate()->SetInternalFieldCount(1);
constructor_template->SetClassName(String::NewSymbol("Connection"));
NODE_SET_PROTOTYPE_METHOD(constructor_template, "close", Connection::Close);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "open", Connection::Open);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "query", Connection::Query);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "readRow", Connection::ReadRow);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "readColumn", Connection::ReadColumn);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "readRowCount", Connection::ReadRowCount);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "beginTransaction", Connection::BeginTransaction);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "commit", Connection::Commit);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "rollback", Connection::Rollback);
NODE_SET_PROTOTYPE_METHOD(constructor_template, "nextResult", Connection::ReadNextResult);
target->Set(String::NewSymbol("Connection"), constructor_template->GetFunction());
}
Connection::~Connection( void )
{
// close the connection now since the object is being collected
innerConnection->Collect();
}
Handle<Value> Connection::Close(const Arguments& args)
{
HandleScope scope;
Local<Object> callback = args[0].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->Close( callback ));
}
Handle<Value> Connection::BeginTransaction(const Arguments& args)
{
HandleScope scope;
Local<Object> callback = args[0].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->BeginTransaction( callback ));
}
Handle<Value> Connection::Commit(const Arguments& args)
{
HandleScope scope;
Local<Object> callback = args[0].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->Commit( callback ));
}
Handle<Value> Connection::Rollback(const Arguments& args)
{
HandleScope scope;
Local<Object> callback = args[0].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->Rollback( callback ));
}
Handle<Value> Connection::New(const Arguments& args)
{
HandleScope scope;
if (!args.IsConstructCall()) {
return Undefined();
}
Connection *c = new Connection();
c->Wrap(args.This());
return args.This();
}
Handle<Value> Connection::Query(const Arguments& args)
{
HandleScope scope;
Local<String> query = args[0].As<String>();
Local<Array> params = args[1].As<Array>();
Local<Object> callback = args[2].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->Query(query, params, callback));
}
Handle<Value> Connection::ReadRow(const Arguments& args)
{
HandleScope scope;
Local<Object> callback = args[0].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->ReadRow(callback));
}
Handle<Value> Connection::ReadColumn(const Arguments& args)
{
HandleScope scope;
Local<Number> column = args[0].As<Number>();
Local<Object> callback = args[1].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->ReadColumn(column, callback));
}
Handle<Value> Connection::ReadNextResult(const Arguments& args)
{
HandleScope scope;
Local<Object> callback = args[0].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->ReadNextResult(callback));
}
Handle<Value> Connection::ReadRowCount(const Arguments& args)
{
Connection* connection = Unwrap<Connection>(args.This());
return connection->innerConnection->ReadRowCount();
}
Handle<Value> Connection::Open(const Arguments& args)
{
HandleScope scope;
Local<String> connectionString = args[0].As<String>();
Local<Object> callback = args[1].As<Object>();
Connection* connection = Unwrap<Connection>(args.This());
return scope.Close<Value>(connection->innerConnection->Open(connectionString, callback, args.This()));
}
}
NODE_MODULE(sqlserver, mssql::Connection::Initialize);
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

企业应用系统,单页应用,纯ajax, 后台采用nodejs
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/coderss/qk.git
git@gitee.com:coderss/qk.git
coderss
qk
qk
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /