The following prisma.queryRaw - doesn't work SELE...
# orm-help
c
The following prisma.queryRaw - doesn't work SELECT contcomp.ContactCompanyID [ContactCompanyID], contcomp.CompanyName [CompanyName], contcomp.CompanyWebSite FROM dbo.ContactCompany AS contcomp WHERE ContactCompanyID = 7247 error: Raw query failed. Code:
102
. Message:
Incorrect syntax near '='.
If I change last line to WHERE contcomp.ContactCompanyID = 7247 error: Raw query failed. Code:
102
. Message:
Incorrect syntax near '.'.
This suggests the query is not able to process the field name ContactCompanyID for WHERE.
using this.prisma.$queryRawUnsafe
When I use $queryRaw I get the following error:
$queryRaw
is a tag function, please use it like the following: ``` const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
modified last line to be:
WHERE ContactCompanyID = ${companyID}
Same error $queryRaw is a tag function...
error with #queryRaw src/app/views/views.service.ts11333 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'TemplateStringsArray'. accessPrismaRaw(raw1: TemplateStringsArray, rawCount: TemplateStringsArray) {     let Memory = [];     const data = Promise.all([       this.prisma.$queryRaw(raw1),       this.prisma.$queryRaw(rawCount),       Memory = this.appService.getMemory()     ]).then(([records, total]) => {       return {         records,         metadata: {           count: total,           memory: Memory         },       };     });     return data;   } async companyByID(companyID?: number) {     // let rawView: TemplateStringsArray;     // let rawCount: TemplateStringsArray;     let viewFilter = `SELECT contcomp.ContactCompanyID [ContactCompanyID], contcomp.CompanyName [CompanyName],                        contcomp.CompanyWebSite FROM dbo.ContactCompany AS contcomp `;                        let countFilter = `SELECT contcomp.ContactCompanyID [ContactCompanyID], contcomp.CompanyName [CompanyName],                        contcomp.CompanyWebSite FROM dbo.ContactCompany AS contcomp `;     let searchFilter = `WHERE contcomp.ContactCompanyID = ${companyID}`;     if (companyID) {       viewFilter = `${viewFilter} ${searchFilter}`;       countFilter = `${countFilter} ${searchFilter}`;     }      let rawView = `${viewFilter}`;     let rawCount = `${countFilter}`;     console.log(rawCount);     console.log(rawView);     return this.accessPrismaRaw(rawView, rawCount);   } ______ return this.accessPrismaRaw(rawView, rawCount); gives an error that rawView is a string, but it's not.
Forcing type to TemplateStringsArray async companyByID(companyID?: number) {     let rawView: TemplateStringsArray;     let rawCount: TemplateStringsArray;     let viewFilter: unknown  = `SELECT contcomp.ContactCompanyID [ContactCompanyID], contcomp.CompanyName [CompanyName],                        contcomp.CompanyWebSite FROM dbo.ContactCompany AS contcomp `;                        let countFilter: unknown = `SELECT contcomp.ContactCompanyID [ContactCompanyID], contcomp.CompanyName [CompanyName],                        contcomp.CompanyWebSite FROM dbo.ContactCompany AS contcomp `;     let searchFilter = `WHERE contcomp.ContactCompanyID = ${companyID}`;     if (companyID) {       viewFilter = `${viewFilter} ${searchFilter}`;       countFilter = `${countFilter} ${searchFilter}`;     }      rawView = viewFilter as TemplateStringsArray;     rawCount = countFilter as TemplateStringsArray;     console.log(rawCount);     console.log(rawView);     return this.accessPrismaRaw(rawView, rawCount);   } returns error:
$queryRaw
is a tag function, please use it like the following: const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` The variable rawView = SELECT contcomp.ContactCompanyID [ContactCompanyID], contcomp.CompanyName [CompanyName], contcomp.CompanyWebSite FROM dbo.ContactCompany AS contcomp WHERE contcomp.ContactCompanyID = 7247 This works on the sql server, but not using queryRaw