问题列表 - 第22870页

如何在sqlalchemy中加入同一个表

我正在尝试加入sqlalchemy中的同一个表.这是我尝试过的最小版本:

#!/usr/bin/env python
import sqlalchemy as sa
from sqlalchemy import create_engine
from sqlalchemy.orm import mapper, sessionmaker, aliased

engine = create_engine('sqlite:///:memory:', echo=True)

metadata = sa.MetaData()
device_table = sa.Table("device", metadata,
    sa.Column("device_id", sa.Integer, primary_key=True),
    sa.Column("name", sa.String(255), nullable=False),
    sa.Column("parent_device_id", sa.Integer, sa.ForeignKey('device.device_id')),
    )

class Device(object):
    device_id = None
    def __init__(self, name, parent_device_id=None):
        self.name = name
        self.parent_device_id = parent_device_id

    def __repr__(self):
        return "<Device(%s, '%s', %s)>" % (self.device_id,
                                           self.name,
                                           self.parent_device_id )

mapper(Device, device_table)

metadata.create_all(engine)

db_session = sessionmaker(bind=engine)()

parent = Device('parent')
db_session.add(parent)
db_session.commit()

child = Device('child', parent.device_id)
db_session.add(child) …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

15
推荐指数
1
解决办法
1万
查看次数

C#DataSet到Xml,节点重命名

    DataSet ds = GetExcelToXml("test.xls");

    string filename = @"C:\test.xml";

    FileStream myFileStream = new FileStream(filename, FileMode.Create);

    XmlTextWriter myXmlWriter = new XmlTextWriter(myFileStream, Encoding.Default);

    ds.WriteXml(myXmlWriter);

    myXmlWriter.Close();
Run Code Online (Sandbox Code Playgroud)

输出Xml

<NewDataSet>
  <Table>
    <UserName>bla1</User_Name>
    <Mail>bla1@bla2.com</Mail>
    <Address>World</Address>
  </Table>
</NewDataSet>
Run Code Online (Sandbox Code Playgroud)

我需要Xml节点名称

    <ROWS>
      <ROW>
        <UserName>bla1</User_Name>
        <Mail>bla1@bla2.com</Mail>
        <Address>World</Address>
      </ROW>
    </ROWS>
Run Code Online (Sandbox Code Playgroud)

怎么做 ?

c# xml dataset

2
推荐指数
1
解决办法
4710
查看次数

实体框架删除子对象

我有两个没有任何级联删除的表.我想删除所有子对象的父对象.我是这样做的

//get parent object
return _dataContext.Menu.Include("ChildMenu").Include("ParentMenu").Include("Pictures").FirstOrDefault(m => m.MenuId == id);
//then i loop all child objects
var picList = (List<Picture>)menu.Pictures.ToList();

for (int i = 0; i < picList.Count; i++)
 {
  if (File.Exists(HttpContext.Current.Server.MapPath(picList[i].ImgPath)))
  {
     File.Delete(HttpContext.Current.Server.MapPath(picList[i].ImgPath));
  }
  if (File.Exists(HttpContext.Current.Server.MapPath(picList[i].ThumbPath)))
  {
     File.Delete(HttpContext.Current.Server.MapPath(picList[i].ThumbPath));
  }

  //**what must i do here?**
  //menu.Pictures.Remove(picList[i]);
  //                DataManager dm = new DataManager();
  //                dm.Picture.Delete(picList[i].Id);

  //menu.Pictures.de
  //_dataContext.SaveChanges();
  //picList[i] = null;

}

//delete parent object
_dataContext.DeleteObject(_dataContext.Menu.Include("ChildMenu").Include("ParentMenu")
    .Include("Pictures").FirstOrDefault(m => m.MenuId == id););
_dataContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

asp.net entity-framework object

2
推荐指数
1
解决办法
5503
查看次数

如何找到阶乘?

如何编写程序来查找任何自然数的阶乘?

c algorithm math factorial

32
推荐指数
10
解决办法
4万
查看次数

如何使用Tkinter创建密码输入字段

我正在尝试使用Tkinter编写登录窗口,但我无法以星号格式隐藏密码文本.这意味着密码输入是纯文本,必须避免.知道怎么做吗?

python tkinter

34
推荐指数
4
解决办法
5万
查看次数

从MS Access转换OLE图像对象以在.NET中使用

我正在努力将基于Access的系统重新开发到c#.net,但是当MS从办公室2003到办公室2007时,他们删除了访问中的图片编辑器 - 这意味着以前存储的图片将不再显示在系统中.该公司的人做了一个黑客,基本上使用excel在后台保存了VBA图像(如果你需要它我可以获得更多信息)但基本上它意味着仍然可以使用访问图像控件(对象绑定帧).

但是,我现在遇到了尝试在.NET应用程序中显示这些问题的问题,并且经过无数天尝试操作字节数组的不同方法后,我接近放弃了.我尝试了至少8个不同的建议解决方案,每个解决方案在执行Image.fromStream()时以"参数未识别"异常结束.下面是迄今为止让我最接近的代码:

    private void imageExtractTest()
    {
        LogOnDataSetTableAdapters.QueriesTableAdapter qa =
            new LogOnDataSetTableAdapters.QueriesTableAdapter();

        object docO = qa.GetLogonImage();
        if (docO == null || !(docO is byte[]))
        {
            return;
        }
        byte[] doc = (byte[])docO;

        MemoryStream ms = new MemoryStream();
        ms.Write(doc, 0, doc.Length);
        int firstByte;
        int secondByte;
        ms.Seek(0, SeekOrigin.Begin);
        firstByte = ms.ReadByte();
        secondByte = ms.ReadByte();

        if (firstByte != 0x15 && secondByte != 0x1C)
        {
            //ErrorResponse("Stored object is not an Access File.");
            return;
        }

        int fileTypeLoc = 20; // begin of the file type …
Run Code Online (Sandbox Code Playgroud)

.net c# ms-access ole

7
推荐指数
1
解决办法
8835
查看次数

具有多个应用程序的Tomcat上的类加载器行为

在Tomcat 5.5服务器上,我在系统类路径中放了一个类(并修改catalina.bat来选择它),或者如果我将类放在共享的lib目录中.现在,如果我有两个不同的应用程序使用相同的类,它们的WEB-INF lib/classes目录中没有该类,则它们使用该类的相同实例.我理解一个类加载器将委托给它的父类加载器的概念,如果它找不到它,那么在这种情况下,因为该类不存在于WEB-INF/classes或WEB-INF/lib中WebAppX类加载器将分别尝试共享,公共和系统类加载器.

然而,这对我来说似乎很奇怪,两个不同的应用程序可以使用此方法共享上下文.有人可以帮我理解为什么会这样.例如,在下面的代码中,当共享CommonCounter时,两个servlet分别部署在单独的战争中,并且它们可以读取由另一个增加的计数器值.

编辑 对我而言,两个独立的应用程序可以以这种方式共享上下文.实际上,如果它们具有相同的类实例,它们甚至可以在两个不同的应用程序中实现多线程/同步,这看起来非常违反直觉.

package com.test;
public class CommonCounter {

    public static int servlet1;
    public static int servlet2;
}




public class Servlet1 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        CommonCounter.servlet1++;
        System.out.println("Other one had "+CommonCounter.servlet2+" hits");
    }   
}



public class Servlet2 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        CommonCounter.servlet2++;
        System.out.println("Other one had "+CommonCounter.servlet1+" hits");
    }   
}
Run Code Online (Sandbox Code Playgroud)

java tomcat classloader

13
推荐指数
1
解决办法
8309
查看次数

如何在哪里条件下使用计算列?

如何where在Oracle 9i 的条件中使用计算列 ?

我想用类似的东西

select decode (:pValue,1,
               select sysdate from dual,
               select activation_date from account where AcNo = 1234) as calDate
where caldate between startDate and endDate;
Run Code Online (Sandbox Code Playgroud)

sql oracle calculated-columns oracle9i

4
推荐指数
1
解决办法
5906
查看次数

使用NPPExec脚本在Notepad ++中使用csc.exe编译C#

我在编写NPPExec脚本(用于Notepad ++)时无法使用Microsoft的csc.exe编译C#源代码.我没有问题让MinGW启动并运行我的c ++东西,但是相同的脚本结构似乎对C#不起作用.有没有人有一个有效的C#NPPExec脚本?

三个快速笔记:

  1. 虽然我的mingw安装到没有空格的路径(\ MinGW\bin),但我的C#编译器似乎埋没在\ Program Files \中,这是一个包含多个空格的路径.这有关系吗?

  2. 我能够使用Microsoft SDK安装的命令提示符(我认为设置一些环境变量)编译,所以我知道编译器工作.

  3. 在NPPExec选项框中,我选择了FOLLOW $(CURRENT_DIRECTORY).这有关系吗?

谢谢.

c# notepad++ nppexec

3
推荐指数
1
解决办法
6771
查看次数

如果第二个字段超过7个字符,请使用awk或perl单行打印行

我有一个1000行的文件,每行有2个单词,用空格分隔.只有当最后一个字长超过7个字符时,如何打印每一行?我可以使用awk RLENGTH吗?perl有一个简单的方法吗?

perl awk

4
推荐指数
2
解决办法
2112
查看次数