【VB.NET】LINQ友の会 ..
[2ch|▼Menu]
321:デフォルトの名無しさん
09/01/07 12:34:27
>>317
考え方はいいとして、>>315のコードが間違っているのは無視か

var sum1 = Table1.Sum(item => item.col1);
var sum2 = Table1.Sum(item => item.col2);
var sum3 = Table1.Sum(item => item.col3);

やるならこうだろ

322:デフォルトの名無しさん
09/01/07 14:07:35
>>321
確かに間違ってるな。
1クエリで書こうと思うとティマイザに期待しつつこう書くしかないか。

var result =
from _ in Table1
new
{
sum1 = Table1.Sum(item => item.col1),
sum2 = Table1.Sum(item => item.col2),
sum3 = Table1.Sum(item => item.col3)
}).Take(1).First();

323:デフォルトの名無しさん
09/01/07 14:08:38
ティマイザ→オプティマイザ

324:デフォルトの名無しさん
09/01/31 19:41:18
>>310
初心者なりに考えてみた。
全然スマートじゃないけど勘弁してね。

var result = table.Select((t, x) => new
{
seq = x + 1,
col1 = t.col1,
col2 = t.col2
}).GroupBy(t2 => t2.seq).Select(g=>new
{
sum1 = g.Sum(t2=>t2.col1),
sum2=g.Sum(t2=>t2.col2)
});



325:デフォルトの名無しさん
09/02/11 13:05:19

var result = table.Select(t => new
{
col1 = t.col1,
col2 = t.col2
}).GroupBy(t2 => 1).Select(g => new
{
sum1 = g.Sum(t2 => t2.col1),
sum2 = g.Sum(t2 => t2.col2)
});

326:デフォルトの名無しさん
09/02/17 18:54:14
初めまして、よろしくお願いいたします。
どうかアドバイスを下さい。

Visual Studio 2008を使っていて、1台の自宅PCにインストールしています。
インストールしているのは、SQLServer2005 developper edtion + VB 2008です。
この環境でC/Sアプリを作り始めました。

経緯としましては、VBアプリを作るのにVSを起動して、プロジェクトの種類でVB、テンプレートで
Windowsフォームアプリケーション、をクリックして進み、プロジェクト名をjob_testにしてOKをクリックしました。

VSが起動し、左にサーバーペイン、右にデータソースペインが表示されました。

ここからが問題なのですが、データソースペインがうまく機能しないのです。 
1. 「ペインの「新しいデータソースの追加」をクリック
米データソース構成ウィザードが軌道します。
2.「データソースの種類」で「データベース」を選択して「次へ」をクリックして進みます。
3.「データ接続の選択」で「・・・使用するデータ接続」で既存の接続を選択して、
 ラジオボタン「はい、重要情報を接続文字列に含みます。」を選択してクリックして進みます。
4.「接続文字列をアプリケーション構成ファイルに保存しますか?」で「次へ」をクリックして進みます。
5.ここ(データベースオブジェクトの選択)でエラーが発生します。メッセージは、「データベースから
情報を取り出すときに、エラーが発生しました。MicrosohutoVisualStudio.datadesignsync.
designersync.Facedsync,TableConfigManager のタイプ初期化
子が例外をスローしました」と表示され先へ進めません。 

どうか解決方法を教えて下さい。

それと境い目の現象なのでDBのスレにもレスさせて頂きます。ご了承くださいませ。




327:デフォルトの名無しさん
09/02/20 07:06:29
>>326
マルチ乙

328:デフォルトの名無しさん
09/02/20 18:50:07
Microsohuto社製品なんて使うからだな

329:デフォルトの名無しさん
09/02/21 04:59:59
>Microsohuto社
中国のばったものの会社?

330:デフォルトの名無しさん
09/02/21 21:28:41
株式会社精密工具

331:デフォルトの名無しさん
09/02/23 00:42:52
Linq to Xmlでちょっと質問

<root>
<data>
<ID>1</ID>
</data>
<data>
<ID>3</ID>
</data>
<data>
<ID>4</ID>
</data>
</root>
というのを
<root>
<data>
<ID>1</ID>
</data>
<data>
<ID>2</ID>
</data>
<data>
<ID>3</ID>
</data>
</root>
に変換するにはどうすれば良いんでしょうか?
イメージとしては、IDを指定して<data>ごと削除、でもIDの値は1から順番になるように保つ、という感じです

332:デフォルトの名無しさん
09/02/23 00:53:41
データが何個あるか調べて、XMLを作り直したほうが早いと思わんかね?

333:デフォルトの名無しさん
09/02/23 02:38:35
いまひとつイメージがつかめないから、こうゆう解釈で行くよ〜
<data><ID>1</ID><ext at=""true"">hoge1</ext></data> 
<data><ID>2</ID><ext at=""false"">hoge2</ext></data> 
<data><ID>3</ID><ext at=""true"">hoge3</ext></data>
<data><ID>4</ID><ext at=""false"">hoge4</ext></data>
ID=3の行を削除でIDが繰り上がる
<data><ID>1</ID><ext at=""true"">hoge1</ext></data> 
<data><ID>2</ID><ext at=""false"">hoge2</ext></data> 
<data><ID>3</ID><ext at=""false"">hoge4</ext></data>

334:デフォルトの名無しさん
09/02/23 02:42:54
string xml = @"<root>
 <data><ID>1</ID><ext at=""true"">hoge1</ext></data> 
 <data><ID>2</ID><ext at=""false"">hoge2</ext></data> 
 <data><ID>3</ID><ext at=""true"">hoge3</ext></data>
 <data><ID>4</ID><ext at=""false"">hoge4</ext></data></root>";
var doc = XDocument.Parse(xml);
var rs = doc.Elements("root").Elements("data").Where(x => x.Element("ID").Value != "3")
 .Select((x, cnt) => { 
  var nx = new XElement(x);
  nx.Element("ID").Value = (cnt+1).ToString();
  return nx;} );
var el2 = new XElement("root2");
foreach (var s in rs) el2.Add(s);
var doc2 = new XDocument(el2);
Console.WriteLine(doc2);
今回は読み込んだXdocumentをいじらないようにしたが、いじっていいなら
Linqは使わず最初に読み込んだXDocumentを直接変更してもいいと思う。


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4675日前に更新/117 KB
担当:undef