本文整理汇总了TypeScript中tedious.Connection类的典型用法代码示例。如果您正苦于以下问题:TypeScript Connection类的具体用法?TypeScript Connection怎么用?TypeScript Connection使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Connection类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
router.post('/', function(req, res) {
var managers = new Managers.Managers();
var userId = req.body.userId;
var apiKey = req.body.apiKey;
var deviceId = req.body.deviceId;
var pilotValue = req.body.pilotValue;
var connection = new Connection(managers.dbManager.generateTediousConfig());
connection.on('connect', function(err) {
// If no error, then good to proceed.
if(err) {
console.log('ERROR: %s', err);
res.status(500).send("Error");
}
else {
console.log("Connected");
executeStatement(res, deviceId, pilotValue);
}
});
function executeStatement(res, deviceId, pilotValue) {
managers.dbManager.allowRequest(userId, apiKey, function(authorised) {
if(!authorised) {
res.status(500).send();
}
else {
var request = new Request('dbo.UpdatePilotDevices',
function(err, rowCount) {
if (err) {
console.log(err);
res.status(500).send("Error");
}
else {
console.log('Complete: %s row(s) returned', rowCount);
connection.close();
res.send('Complete: ' + rowCount + ' row(s) returned');
}
}
);
request.addParameter('DeviceId', TYPES.NVarChar, deviceId);
request.addParameter('IsPilot', TYPES.NVarChar, pilotValue);
connection.callProcedure(request);
}
});
}
});
示例2: function
app.get("/api/awards", function(req, res){
var connection = new tedious.Connection(config);
connection.on('connect', err => {
var request = new tedious.Request(sql.GetAwards, (err, rc, rows) => {
if (err){
console.log(err);
res.status(500).send("database error");
} else {
var awards = rows.map(row => {return {id: row.ID.value, awardName: row.AwardName.value}});
res.json(awards);
}
connection.close();
});
connection.execSql(request);
});
})
示例3:
var request = new tedious.Request(sql.GetBookDetails, (err, rc, rows) => {
if (err){
console.log(err);
res.status(500).send("database error");
connection.close();
return;
}
if (!rc){
res.status(404).send("book not found");
connection.close();
return;
}
var book = {
id: rows[0].ID.value,
title: rows[0].Title.value,
author: rows[0].Author.value,
authorId: rows[0].AuthorID.value,
nominations: []
};
book.nominations = rows.slice(1).map(row => {
return {
awardId :row.AwardID.value,
yearNominated: row.YearNominated.value,
isWinner: !!row.IsWinner.value
}
});
res.json(book);
connection.close();
});
示例4: function
bcrypt.hash(password, 8, function(err, hash) {
if(!err) {
var request = new Request(
'[dbo].[CreateNewUser]',
function(err, rowCount) {
console.log('RC: ' + rowCount)
if (err) {
console.log(err);
res.status(500).send();
}
else {
connection.close();
res.status(200).send();
}
}
)
request.addParameter('UserId', TYPES.NVarChar, username);
request.addParameter('Password', TYPES.NVarChar, hash);
request.addParameter('Depot', TYPES.NVarChar, depot);
request.addParameter('CreatedOn', TYPES.DateTime, new Date());
request.addParameter('ApiKey', TYPES.NVarChar, Guid.raw());
request.addParameter('ServerKey', TYPES.NVarChar, Guid.raw());
request.addParameter('CreateUsers', TYPES.Bit, createUsers)
connection.callProcedure(request);
}
});
示例5: function
managers.dbManager.allowRequest(userId, apiKey, function(authorised) {
if(!authorised) {
res.status(500).send();
}
else {
var request = new Request(
`
INSERT INTO [dbo].[CurrentInstructions] (DeviceId, UserId, InstructionType, InstructionValues, RequestedTime, Requester)
VALUES (@DeviceId, @UserId, @InstructionType, @InstructionValues, @RequestedTime, @Requester)
`,
function(err, rowCount) {
if (err) {
console.log(err);
res.status(500).send("Error");
}
else {
console.log('Complete: %s row(s) returned', rowCount);
connection.close();
res.send('Complete: ' + rowCount + ' row(s) returned');
}
}
);
request.addParameter('DeviceId', TYPES.NVarChar, deviceId);
request.addParameter('UserId', TYPES.NVarChar, userId);
request.addParameter('InstructionType', TYPES.NVarChar, instructionType);
request.addParameter('InstructionValues', TYPES.NVarChar, JSON.stringify(instructionValues));
request.addParameter('RequestedTime', TYPES.DateTime, new Date());
request.addParameter('Requester', TYPES.NVarChar, 'Nick');
connection.execSql(request);
sendInstructionToDevice();
}
});
示例6: rej
connection.on("connect", (err: any) => {
if (err) {
rej(err);
} else {
const request = new Request(query.sql, (err: any, count: number) => {
if (err) {
rej(err);
} else {
res(rows);
}
connection.close();
})
.on("row", row => {
const obj = row.reduce(
(p: any, c: any, i: number) => ({
...p,
[columns[i]]: c.value
}),
{}
);
rows.push(obj);
})
.on("columnMetadata", (meta: any[]) => {
columns = meta.map(x => x.colName);
});
if (query.params) {
Object.keys(query.params).forEach(x => {
const val = query.params[x];
request.addParameter(x, getType(val), val);
});
}
connection.execSql(request);
}
});
示例7: Request
const request = new Request(query.sql, (err: any, count: number) => {
if (err) {
rej(err);
} else {
res(rows);
}
connection.close();
})
示例8: function
managers.dbManager.allowRequest(userId, apiKey, function(authorised) {
if(!authorised) {
res.status(500).send();
}
else {
var result = [];
var request = new Request(
`
Select
*
from
SupportRequest
where
MessageID = @requestMessageId
`,
function(err, rowCount) {
if (err) {
console.log(err);
res.status(500).send("Error");
}
else {
console.log('Complete: %s row(s) returned', rowCount);
connection.close();
res.setHeader('content-type', 'application/x-www-form-urlencoded');
res.setHeader('Access-Control-Allow-Origin', '*');
res.status(200).send(result);
}
}
);
request.addParameter('requestMessageId', TYPES.NVarChar, requestMessageId);
request.on('row', function(columns) {
var row = {};
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
row[column.metadata.colName] = column.value;
}
});
result.push(row);
});
request.on('done', function(rowCount, more) {
console.log(rowCount + ' rows returned');
});
connection.execSql(request);
}
});
示例9: Request
var request = new Request("SELECT * FROM dbo.RouteConfirm WHERE UserId = @UserId AND ConfirmTime > CAST(GETDATE() AS DATE) ORDER BY ConfirmTime DESC;", function(err, rowCount) {
if (err) {
console.log(err);
res.status(500).send("Error");
}
else {
console.log('Complete: %s row(s) returned', rowCount);
connection.close();
res.send(result);
}
});
示例10: function
managers.dbManager.allowRequest(userId, apiKey, function(authorised) {
if(!authorised) {
res.status(500).send();
}
else {
var result = [];
var request = new Request(
`
SELECT * FROM [dbo].[InstructionResponse]
WHERE DeviceId = @DeviceID AND UserId = @UserId AND Requester = @Requester AND RequestedTime > CAST(GETDATE() AS DATE)
ORDER BY RequestedTime DESC
`,
function(err, rowCount) {
if (err) {
console.log(err);
res.status(500).send("Error");
}
else {
console.log('Complete: %s row(s) returned', rowCount);
connection.close();
res.send(result);
}
}
);
request.addParameter('DeviceID', TYPES.NVarChar, deviceId);
request.addParameter('UserId', TYPES.NVarChar, deviceUserId);
request.addParameter('Requester', TYPES.NVarChar, userId);
request.on('row', function(columns) {
var row = {};
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
row[column.metadata.colName] = column.value;
}
});
result.push(row);
});
request.on('done', function(rowCount, more) {
console.log(rowCount + ' rows returned');
});
connection.execSql(request);
}
});
示例11: function
managers.dbManager.allowRequest(userId, apiKey, function(authorised) {
if(!authorised) {
res.status(500).send();
}
else {
var result = [];
var request = new Request(
`
Select
delaybandId as ID,
delayBandLabel as [Band],
0 as [Occurences]
from
responseDelayBands
`,
function(err, rowCount) {
if (err) {
console.log(err);
res.status(500).send("Error");
}
else {
console.log('Complete: %s row(s) returned', rowCount);
connection.close();
res.send(result);
}
}
);
request.on('row', function(columns) {
var row = {};
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
row[column.metadata.colName] = column.value;
}
});
result.push(row);
});
request.on('done', function(rowCount, more) {
console.log(rowCount + ' rows returned');
});
connection.execSql(request);
}
});
示例12: function
managers.dbManager.allowRequest(userId, apiKey, function(authorised) {
if(!authorised) {
res.status(500).send();
}
else {
var result = [];
var request = new Request(
`
SELECT CD.Id, CD.DeviceId, CD.UserId, CD.RouteId, CD.LastConnected, PD.IsPilot
FROM dbo.ConnectedDevices CD
LEFT JOIN [dbo].[PilotDevices] PD ON CD.DeviceId = PD.DeviceId
WHERE CD.LastConnected > CAST(GETDATE() AS DATE);
`,
function(err, rowCount) {
if (err) {
console.log(err);
res.status(500).send("Error");
}
else {
console.log('Complete: %s row(s) returned', rowCount);
connection.close();
res.setHeader('content-type', 'application/x-www-form-urlencoded');
res.setHeader('Access-Control-Allow-Origin', '*');
res.status(200).send(result);
}
}
);
request.on('row', function(columns) {
var row = {};
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
row[column.metadata.colName] = column.value;
}
});
result.push(row);
});
request.on('done', function(rowCount, more) {
console.log(rowCount + ' rows returned');
});
connection.execSql(request);
}
});