我有一个查询,我试图从MS SQL Server 2008转换为MySQL.它运行良好的MSSQL,我得到错误" Incorrect parameter count in the call to native function 'ISNULL'".
我该如何解决这个问题?
SELECT DISTINCT
dbo.`@EIM_PROCESS_DATA`.U_Tax_year,
dbo.`@EIM_PROCESS_DATA`.U_Employee_ID,
CASE
WHEN dbo.`@EIM_PROCESS_DATA`.U_PD_code = 'SYS033' THEN SUM(dbo.`@EIM_PROCESS_DATA`.U_Amount)
END AS PAYE,
CASE
WHEN dbo.`@EIM_PROCESS_DATA`.U_PD_code = 'SYS014' THEN SUM(dbo.`@EIM_PROCESS_DATA`.U_Amount)
END AS TOTALTAXABLE,
dbo.OADM.CompnyName,
dbo.OADM.CompnyAddr,
dbo.OADM.TaxIdNum,
dbo.OHEM.lastName + ', ' + ISNULL(dbo.OHEM.middleName, '') + '' + ISNULL(dbo.OHEM.firstName, '') AS EmployeeName
FROM
dbo.`@EIM_PROCESS_DATA`
INNER JOIN
dbo.OHEM ON dbo.`@EIM_PROCESS_DATA`.U_Employee_ID = dbo.OHEM.empID
CROSS JOIN
dbo.OADM
GROUP BY dbo.`@EIM_PROCESS_DATA`.U_Tax_year , dbo.`@EIM_PROCESS_DATA`.U_Employee_ID , dbo.OADM.CompnyName , dbo.OADM.CompnyAddr , dbo.OADM.TaxIdNum …Run Code Online (Sandbox Code Playgroud) 我有以下代码用于工资单程序.第一个字典保存在主数据表中保存的员工ID和相应的基本工资.第二个字典保存员工ID和相应的基本工资,用于工资配件表 - 用于处理.我想更新主表中不匹配的每个员工ID的工资补贴基本工资.(工资变动).
var OHEMDictionary = employees.OrderBy(es => es.empID)
.ToDictionary(od => od.empID,
od => od.salary);
var SalaryFitmentDictionary = salaryFitments
.Where(x => x.U_PD_Code.Trim().ToString() == "SYS001")
.OrderBy(es => es.U_Employee_ID)
.ToDictionary(od => od.U_Employee_ID,
od => od.U_PD_Amount);
var difference = OHEMDictionary
.Where(kv => SalaryFitmentDictionary[kv.Key] != kv.Value);
difference.ToList().ForEach(x =>
{
decimal salary = x.Value.Value;
var codeToUpdate = salaryFitments
.Where(y => y.U_Employee_ID.Equals(x.Key))
.Select(z => z.Code)
.SingleOrDefault(); `**<---exception thrown here**`
var salaryFitment = salaryFitmentService
.GetSalaryFitment(codeToUpdate);
if (salaryFitment != null)
{
// Save record
salaryFitmentService
.UpdateSalaryFitment(salaryFitment, salary.ToString());
} …Run Code Online (Sandbox Code Playgroud) 我有这个查询,我发现我想要修改以获得额外的列,并总结找到的金额的最后3个月.我想为此制作一份水晶报告.查询如下.
SELECT
dbo.[@EIM_PROCESS_DATA].U_Tax_year,
dbo.[@EIM_PROCESS_DATA].U_Employee_ID,
SUM(dbo.[@EIM_PROCESS_DATA].U_Amount) AS PAYE,
dbo.OADM.CompnyName,
dbo.OADM.CompnyAddr,
dbo.OADM.TaxIdNum,
dbo.OHEM.lastName + ', ' + ISNULL(dbo.OHEM.middleName, '') + ' ' +
ISNULL(dbo.OHEM.firstName, '') AS EmployeeName, dbo.OHEM.govID
FROM dbo.[@EIM_PROCESS_DATA]
INNER JOIN dbo.OHEM ON dbo.[@EIM_PROCESS_DATA].U_Employee_ID
= dbo.OHEM.empID CROSS JOIN dbo.OADM
WHERE (dbo.[@EIM_PROCESS_DATA].U_PD_code = 'SYS033')
GROUP BY
dbo.[@EIM_PROCESS_DATA].U_Tax_year,
dbo.[@EIM_PROCESS_DATA].U_Employee_ID,
dbo.OADM.CompnyName,
dbo.OADM.CompnyAddr,
dbo.OADM.TaxIdNum,
dbo.OHEM.lastName,
dbo.OHEM.firstName,
dbo.OHEM.middleName,
dbo.OHEM.govID
Run Code Online (Sandbox Code Playgroud)
该表OHEM包含一个字母数字字段U_Process_month,其中包含1月到12月的字符.如上所述查询,SUM(dbo.[@EIM_PROCESS_DATA].U_Amount)给出所有PAYE金额的总计,ie. U_PD_code = 'SYS033'.
我希望有一个查询,根据所选的年份和月份累计过去3个月(PAYE).
我还想检索和额外的列,SUM(dbo.[@EIM_PROCESS_DATA].U_Amount) as TAXABLEPAY where (dbo.[@EIM_PROCESS_DATA].U_PD_code = 'SYS034').
我该如何实现这一目标?任何帮助赞赏.
我最近决定停止使用MySQL的触发器我created和modified约会在我的表中的字段因并发症时运行脚本包括在客户端部署的安装文件.
我用这种方式改变了字段:(例子)
alter table users
modify `created` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'
alter table users
modify `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
当我现在运行我的程序并填写一个表单来添加数据(表单控件是数据绑定)时,我得到消息"列'创建'不允许空值".
在现有数据上,当我尝试更新时,修改日期根本不会改变.
我查看了许多文章,例如在MySQL 4.0中同时拥有Created和Last Updated时间戳列但无法找到解决方案.
我该如何解决这个问题?
我正在使用MySQL v 5.6.15.0
我是在 ASP.NET 中构建 Web 应用程序的新手,并且正在尝试以肯尼亚先令显示货币。先令的符号是 KES。
我有这个:
<span>
<b>Price: </b><%#:String.Format(new System.Globalization.CultureInfo("sw-KE"), "{0:c}", Item.BeatPrice)%>
</span>
Run Code Online (Sandbox Code Playgroud)
文化名称来自http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo%28v=vs.80%29.aspx。
但是,价格显示为S3,000而不是KES 3,000。
我需要做什么才能正确格式化价格?
我有这个SQL查询,我用它来查找每个帐户每月的试算平衡移动.
/* Fixed Assets 1 */
SELECT * FROM
(
SELECT T0.AcctCode AS 'SAP Code', T0.AcctName AS 'Description',
MONTH(T1.RefDate) AS Month, SUM(T1.Debit - T1.Credit) AS 'Amount'
FROM OACT T0
LEFT JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account]
WHERE T0.AcctCode LIKE '111%' AND T0.Levels = 5
AND (T1.RefDate BETWEEN DATEADD(yy, DATEDIFF(yy,0,{?AsAtDate}), 0) AND {?AsAtDate})
GROUP BY T0.AcctCode, T0.AcctName, T0.FatherNum, T1.RefDate) AS q
PIVOT
(
SUM(Amount)
FOR [Month] IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
) AS query
Run Code Online (Sandbox Code Playgroud)
这将从6月返回以下结果:
我想包括所有行的累计月度结果,以便第1行结果应为:
1, 111110, Building Gross Value, 633604.23, 637764.23, …Run Code Online (Sandbox Code Playgroud) 我试图以"yyyyMMdd"格式保存DateTime.Now
我有这个代码
string todaysDate = DateTime.Now.ToString();
Run Code Online (Sandbox Code Playgroud)
...
U_Date_of_PD_added = GetDateFromString(todaysDate)
Run Code Online (Sandbox Code Playgroud)
// U_Date_of_PD_added是日期时间数据库字段
...
//Method to get date from string
private DateTime GetDateFromString(string dateString)
{
string format = "yyyyMMdd";
return DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);
}
Run Code Online (Sandbox Code Playgroud)
我一直收到错误"字符串未被识别为有效的DateTime".因为它试图解析.可能有什么不对?
我不在乎是否节省时间,我宁愿00:00:00.000
我有一个带有"Code"列的usersdataTable我设置为PK并在MySql DB中自动递增"true".
我希望用户在数据网格视图上填写名字,姓氏,用户名等的值,但不能输入代码值.
我有这个代码用于更新/插入:
private void usersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
try
{
if (dgvUsers.RowCount > 0)
{
for (int i = 1; i <= dgvUsers.RowCount; i++)
{
var code = dgvUsers.Rows[i].Cells[0].Value.ToString();
if (code == string.Empty)
{
// add users
this.usersTableAdapter.Insert(
dgvUsers.Rows[i].Cells[1].Value.ToString(),
dgvUsers.Rows[i].Cells[2].Value.ToString(),
dgvUsers.Rows[i].Cells[3].Value.ToString(),
GlobalClass.MD5Hash(dgvUsers.Rows[i].Cells[4].Value.ToString()),
DateTime.Now,
null
);
}
else
{
// edit users
this.usersTableAdapter.Update(this.eko_payrollDataSet.users);
}
}
}
MessageBox.Show("Details Updated Successfully");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
表结构:
Code int NN PK Autoincrement
firstName Varchar NN
lastName Varchar …Run Code Online (Sandbox Code Playgroud) 我有一个漫长的过程,我想向用户显示一个进度条,我将参数(百分比)传递给我的带有母版页的Webform中的Javascript函数.
我有这个:
<script type="text/javascript">
function updateProgress(percentage) {
document.getElementById('ProgressBar').style.width = percentage+"%";
}
</script>
Run Code Online (Sandbox Code Playgroud)
和:
<div class="progress progress-striped active progress-success" style="height: 43px">
<div id="ProgressBar" class="progress-bar" role="progressbar" runat="server"
aria-valuemin="0" aria-valuemax="100" style="width: 0%">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在我的代码隐藏中,我有这个将参数传递给函数:
// Report progress >> ~ 18%
string updateProgress = "18";
ClientScript.RegisterStartupScript(this.GetType(), "updateProgress", "updateProgress('" + updateProgress + "');", true);
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,进度条永远不会从0%移动.我想通过使用新参数再次调用函数来继续更新代码后面的百分比完成,直到达到100%.
我浏览过论坛,但我无法看到我需要做些什么才能让它发挥作用.
有任何想法吗?
我有这个错误,我想要解决.
Visual Studio 2010将错误指定为:
operator '-' cannot be applied to operands of type 'decimal' and 'Systems.Collections.Generic.IEnumerable<decimal>
Run Code Online (Sandbox Code Playgroud)
我的代码:
// Step 5: Retrieve MPR amount and deduct form Gross Tax Dictionary Per-Employee
//Query database
var taxtable = taxTableService.GetAllTaxTables();
var mprAmount = (from tt in taxtable select tt.U_MPR_amount).Distinct();
Dictionary<int, decimal> paye = new Dictionary<int, decimal>();
grossTaxDictionary.ToList().ForEach(x =>
{
var totalPAYE = x.Value - mprAmount;
paye.Add(x.Key, totalPAYE);
});
Run Code Online (Sandbox Code Playgroud)
在我的数据库中,字段U_MPR_amount是小数,因此是x.Value.
错误显示在该行上 x.Value - mprAmount;
可能是什么问题呢?任何帮助赞赏.