通常は
<%# Eval("Price") %> で、項目名を設定すれば良いが
数字の場合、編集して表示させたい時がある。
<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>
2011年6月28日火曜日
2011年6月23日木曜日
microsoft reportviewer
microsoft reportviewer
開発PCには、インストールされているが、実行サーバにはインストールされていなかった。
ココから、downkload出来る。
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6442
開発PCには、インストールされているが、実行サーバにはインストールされていなかった。
ココから、downkload出来る。
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6442
2011年6月22日水曜日
2011年6月16日木曜日
LINQでラムダ式でソートを行う方法
using (var db = new ExpenseDataClassesDataContext(ConfigurationManager.ConnectionStrings["ExpenseConnStr"].ToString()))
{
var t1 = db.TaxRate.OrderByDescending(x => x.StartDate).FirstOrDefault(a => a.EntityCode == iEntityCode && a.StartDate.Date <= iStartDate.Date);
if (t1 != null)
{
return t1.TaxRate1;
}
else
{
return 0;
}
}
この場合、1件だけを取得する、それとソート順はDESC
ソート順はASCにしたい場合は、OrderByを使用する。
{
var t1 = db.TaxRate.OrderByDescending(x => x.StartDate).FirstOrDefault(a => a.EntityCode == iEntityCode && a.StartDate.Date <= iStartDate.Date);
if (t1 != null)
{
return t1.TaxRate1;
}
else
{
return 0;
}
}
この場合、1件だけを取得する、それとソート順はDESC
ソート順はASCにしたい場合は、OrderByを使用する。
LINQで日付比較
where rc.Status == "Py"
&& (rc.DatePayment.Value.Date >= RadDatePickerFrom.SelectedDate.Value.Date
&& rc.DatePayment.Value.Date <= RadDatePickerTo.SelectedDate.Value.Date
&& (rc.DatePayment.Value.Date >= RadDatePickerFrom.SelectedDate.Value.Date
&& rc.DatePayment.Value.Date <= RadDatePickerTo.SelectedDate.Value.Date
linqでデータを取得
using (var db = new ExpenseDataClassesDataContext(ConfigurationManager.ConnectionStrings["ExpenseConnStr"].ToString()))
{
var records =
from rc in db.ClaimHeader
where rc.UserName == Session["UserName"].ToString() && rc.Status != "De"
select rc;
//
foreach (var r in records)
{
Response.BinaryWrite("");
}
}
{
var records =
from rc in db.ClaimHeader
where rc.UserName == Session["UserName"].ToString() && rc.Status != "De"
select rc;
//
foreach (var r in records)
{
Response.BinaryWrite("");
}
}
2011年6月14日火曜日
Asp.net C# DowpdownListの初期値設定
Asp.net C# DowpdownListの初期値設定
ddlSelectCategory.DataBind();
int index = 0;
//Loop items Dropdown
foreach (ListItem item in ddlSelectCategory.Items)
{//found
if (item.Value.Trim() == s1.CategoryId.ToString().Trim())
{ //select item
ddlSelectCategory.SelectedIndex = index;
break;
}
index++;
}
ddlSelectCategory.DataBind();
int index = 0;
//Loop items Dropdown
foreach (ListItem item in ddlSelectCategory.Items)
{//found
if (item.Value.Trim() == s1.CategoryId.ToString().Trim())
{ //select item
ddlSelectCategory.SelectedIndex = index;
break;
}
index++;
}
Linqでstored procedureを実行
Linqでstored procedureを実行 ※戻り値無し
using (var db1 = new aDataClassesDataContext(ConfigurationManager.ConnectionStrings["ExpenseConnStr"].ToString()))
{
var c1 = db1.usp_ClaimDetail_Del(Session["CLaimID"].ToString());
}
1.LINQ To SQLクラスにストアドプロシージャを含める。
2.LINQで、通常通りに、上記オブジェクトを指定する
3.これで、ストアドが実行される。
LINQの良い所、受け渡しパラメータを自動生成してくれるから、パラメータの設定コードを
記述する必要が無い。
using (var db1 = new aDataClassesDataContext(ConfigurationManager.ConnectionStrings["ExpenseConnStr"].ToString()))
{
var c1 = db1.usp_ClaimDetail_Del(Session["CLaimID"].ToString());
}
1.LINQ To SQLクラスにストアドプロシージャを含める。
2.LINQで、通常通りに、上記オブジェクトを指定する
3.これで、ストアドが実行される。
LINQの良い所、受け渡しパラメータを自動生成してくれるから、パラメータの設定コードを
記述する必要が無い。
2011年6月13日月曜日
LINQ の Insert
using (var db = new ExpenseDataClassesDataContext(ConfigurationManager.ConnectionStrings["ConnStr"].ToString()))
{
RecordHeader i1 = new RecordHeader();
//set columns
i1.Id = Session["ClaimID"].ToString();
i1.Type = Session["Type"].ToString();
i1.DataAdded = DateTime.Now;
i1.UserName = Session["UserName"].ToString();
// Add the new object to the Orders collection.
db.RecordHeader.InsertOnSubmit(i1);
// Submit the change to the database.
db.SubmitChanges();
}
{
RecordHeader i1 = new RecordHeader();
//set columns
i1.Id = Session["ClaimID"].ToString();
i1.Type = Session["Type"].ToString();
i1.DataAdded = DateTime.Now;
i1.UserName = Session["UserName"].ToString();
// Add the new object to the Orders collection.
db.RecordHeader.InsertOnSubmit(i1);
// Submit the change to the database.
db.SubmitChanges();
}
2011年6月9日木曜日
LINQの全件件数を取得する
LINQの全件件数を取得する(Total Record count)
var mSite =
from qc in db.指定テーブル
orderby qc.Code
where qc.Code == args[0]
select qc;
//検索件数の取得
int rec = (mSite).Count(); //件数の取得
var mSite =
from qc in db.指定テーブル
orderby qc.Code
where qc.Code == args[0]
select qc;
//検索件数の取得
int rec = (mSite).Count(); //件数の取得
iis handlers error 500.19
iis handlers error 500.19
Windows2008英語版で開発する必要があったので、VMマシンとして標準でインストールして
もらいました。
その後、IIS管理からWebアプリを登録して、接続しようとすると
HTTP Error 500.19 - Internal Server Error
エラー詳細を見ると、web.configのhandlersの部分でエラー発生となっている。
自分のIISではOKなので、何で?って考えていると、もしかして
おまじないしていないから?
c:\windows\microsoft.net\framework\v2.0\aspnet_iisreg.exe /i
.NETをインストールしても、IISとの、ひもづけしていないからダメよ~
あと、.NET2.0から.NET3.5までは、2.0ベースだから、v2のaspnet_iisregを実行
.NET v4の場合、v4のaspnet_iisregを実行する必要がある
Windows2008英語版で開発する必要があったので、VMマシンとして標準でインストールして
もらいました。
その後、IIS管理からWebアプリを登録して、接続しようとすると
HTTP Error 500.19 - Internal Server Error
エラー詳細を見ると、web.configのhandlersの部分でエラー発生となっている。
自分のIISではOKなので、何で?って考えていると、もしかして
おまじないしていないから?
c:\windows\microsoft.net\framework\v2.0\aspnet_iisreg.exe /i
.NETをインストールしても、IISとの、ひもづけしていないからダメよ~
あと、.NET2.0から.NET3.5までは、2.0ベースだから、v2のaspnet_iisregを実行
.NET v4の場合、v4のaspnet_iisregを実行する必要がある
2011年6月7日火曜日
LINQ to SQLで1件だけを抽出する方法
LINQ to SQLで1件だけを抽出する方法
LINQ to SQLで1件だけ抽出するにはFirst拡張メソッドを使えばよいのだが、ラムダ式を使ってサクッと作れる。
var o1 = db1.参照テーブル.First(a=>a.Title=="ほげほげ");
但し、この欠点は抽出結果が0件だとエラーになる。
そこで0件でもエラーとならないFirstOrDefault拡張メソッドを使用する。
Var o1 = db1.参照テーブル.FirstOrDefault(a=>a.Title=="ほげほげ");
if (o1 != null){o1.name = "ふむふむ" ;}
抽出結果が0件の場合、結果はNULLとなるのでNULLでなければオブジェクトにアクセスするようにすれば良い。
元ネタ
http://blog.motdotnet.com/?eid=381
LINQ to SQLで1件だけ抽出するにはFirst拡張メソッドを使えばよいのだが、ラムダ式を使ってサクッと作れる。
var o1 = db1.参照テーブル.First(a=>a.Title=="ほげほげ");
但し、この欠点は抽出結果が0件だとエラーになる。
そこで0件でもエラーとならないFirstOrDefault拡張メソッドを使用する。
Var o1 = db1.参照テーブル.FirstOrDefault(a=>a.Title=="ほげほげ");
if (o1 != null){o1.name = "ふむふむ" ;}
抽出結果が0件の場合、結果はNULLとなるのでNULLでなければオブジェクトにアクセスするようにすれば良い。
元ネタ
http://blog.motdotnet.com/?eid=381
LINQでUPDATE
LINQでUPDATEを行う
string vId = "12345";
using (var db = new ExpenseDataClassesDataContext(ConfigurationManager.ConnectionStrings["ExpenseConnectionString"].ToString()))
{
ClaimHeader ch = db.ClaimHeader.Single(s => s.Id == vId);
ch.Status = "De";
db.SubmitChanges();
}
string vId = "12345";
using (var db = new ExpenseDataClassesDataContext(ConfigurationManager.ConnectionStrings["ExpenseConnectionString"].ToString()))
{
ClaimHeader ch = db.ClaimHeader.Single(s => s.Id == vId);
ch.Status = "De";
db.SubmitChanges();
}
2011年6月6日月曜日
IIS7.5 Windows認証
IIS7.5 Windows認証は、標準では設定されないので、注意が必要。
IIS6までは、認証の部分に、Windows認証があったが
IIS7.5は、インストール時に設定しないといけなくなった。
IIS6までは、認証の部分に、Windows認証があったが
IIS7.5は、インストール時に設定しないといけなくなった。
2011年6月2日木曜日
パケットモニター
LANケーブルをループ状にした為、ネットワークがダウンしました。
その時、パケットを見る為のモニターが、MicroSoftから無償で提供されています。
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f&displaylang=en
説明は、こちら
http://www.microsoft.com/japan/powerpro/TF/column/am_01_3.mspx
その時、パケットを見る為のモニターが、MicroSoftから無償で提供されています。
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f&displaylang=en
説明は、こちら
http://www.microsoft.com/japan/powerpro/TF/column/am_01_3.mspx
2011年6月1日水曜日
MS-SQLで、メタ情報からCREATE TABLEを作成
MS-SQL2005以上で使用出来る
DECLARE @Table_Definition VARCHAR(MAX),
@TableName VARCHAR(25)
SET @TableName = 'Attachments'
SET @Table_Definition = 'IF NOT EXISTS(SELECT 1 FROM sys.tables WHERE name = ' +
QUOTENAME(@TableName,'''') + ')' + CHAR(13) + 'BEGIN'
SET @Table_Definition = COALESCE(@Table_Definition + CHAR(13),'') + 'CREATE TABLE ('
SELECT @Table_Definition = COALESCE(@Table_Definition,'') +
CHAR(13) + '[' + COLUMN_NAME + ']' + SPACE(1) + '[' + DATA_TYPE + ']' +
CASE
WHEN UPPER(DATA_TYPE) IN ('REAL','MONEY','DECIMAL','NUMERIC') THEN
'(' + CONVERT(VARCHAR(3),COALESCE(numeric_precision,'')) + ','+
CONVERT(VARCHAR(3),COALESCE(Numeric_Scale,'')) + ')'
WHEN UPPER(DATA_TYPE) IN ('CHAR','NVARCHAR','VARCHAR','NCHAR') THEN
'(' + CASE WHEN CHARACTER_MAXIMUM_LENGTH = -1 THEN 'max' ELSE CAST(isnull(CHARACTER_MAXIMUM_LENGTH,'') AS VARCHAR) END + ')'
ELSE '' END +
CASE WHEN IS_NULLABLE = 'NO' THEN ' not null' ELSE ' null' END +
CASE WHEN COLUMN_DEFAULT IS NULL THEN ',' ELSE 'default ' + COLUMN_DEFAULT + ',' END
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
SET @Table_Definition = STUFF(@Table_Definition,LEN(@Table_Definition),1,CHAR(13) + ')' + CHAR(13) + 'END')
PRINT @Table_Definition
--EXEC (@Table_Definition)
DECLARE @Table_Definition VARCHAR(MAX),
@TableName VARCHAR(25)
SET @TableName = 'Attachments'
SET @Table_Definition = 'IF NOT EXISTS(SELECT 1 FROM sys.tables WHERE name = ' +
QUOTENAME(@TableName,'''') + ')' + CHAR(13) + 'BEGIN'
SET @Table_Definition = COALESCE(@Table_Definition + CHAR(13),'') + 'CREATE TABLE ('
SELECT @Table_Definition = COALESCE(@Table_Definition,'') +
CHAR(13) + '[' + COLUMN_NAME + ']' + SPACE(1) + '[' + DATA_TYPE + ']' +
CASE
WHEN UPPER(DATA_TYPE) IN ('REAL','MONEY','DECIMAL','NUMERIC') THEN
'(' + CONVERT(VARCHAR(3),COALESCE(numeric_precision,'')) + ','+
CONVERT(VARCHAR(3),COALESCE(Numeric_Scale,'')) + ')'
WHEN UPPER(DATA_TYPE) IN ('CHAR','NVARCHAR','VARCHAR','NCHAR') THEN
'(' + CASE WHEN CHARACTER_MAXIMUM_LENGTH = -1 THEN 'max' ELSE CAST(isnull(CHARACTER_MAXIMUM_LENGTH,'') AS VARCHAR) END + ')'
ELSE '' END +
CASE WHEN IS_NULLABLE = 'NO' THEN ' not null' ELSE ' null' END +
CASE WHEN COLUMN_DEFAULT IS NULL THEN ',' ELSE 'default ' + COLUMN_DEFAULT + ',' END
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
SET @Table_Definition = STUFF(@Table_Definition,LEN(@Table_Definition),1,CHAR(13) + ')' + CHAR(13) + 'END')
PRINT @Table_Definition
--EXEC (@Table_Definition)
MS-SQL でOracleのUser_tab_columnsみたいなメタ情報を参照するには?
MS-SQL でOracleのUser_tab_columnsみたいなメタ情報を参照するには?
MS-SQL 2005以降だけど、INFORMATION_SCHEMA.COLUMNS で参照出来ます。
http://msdn.microsoft.com/ja-jp/library/ms188348.aspx
select * from INFORMATION_SCHEMA.COLUMNS
MS-SQL 2005以降だけど、INFORMATION_SCHEMA.COLUMNS で参照出来ます。
http://msdn.microsoft.com/ja-jp/library/ms188348.aspx
select * from INFORMATION_SCHEMA.COLUMNS
登録:
投稿 (Atom)